X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=overlord.c;h=756c5ab67c9d4379340c5fda6b6779518432c2f4;hb=7adf2c71251abac86b93cbd21914acccac295575;hp=8f0dcb8a69a974ee2468dd76f21bbc186f668de4;hpb=d4ad0c3c0cda3b4dc9182581aa9aae4b5758649b;p=userv.git
diff --git a/overlord.c b/overlord.c
index 8f0dcb8..756c5ab 100644
--- a/overlord.c
+++ b/overlord.c
@@ -2,11 +2,12 @@
* userv - overlord.c
* daemon main program, collects request and forks handlers
*
- * Copyright (C)1996-1997,1999 Ian Jackson
+ * userv is copyright Ian Jackson and other contributors.
+ * See README for full authorship information.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
@@ -15,8 +16,7 @@
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with userv; if not, write to the Free Software
- * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with userv; if not, see .
*/
#include
@@ -68,7 +68,7 @@ static void checkstalepipes(void) {
if (time(&now) == -1) { syslog(LOG_ERR,"get current time: %m"); return; }
dir= opendir(".");
if (!dir) { syslog(LOG_ERR,"open directory " VARDIR ": %m"); return; }
- while ((de= readdir(dir))) {
+ while ((errno=0, de= readdir(dir))) {
if (fnmatch(PIPEPATTERN,de->d_name,FNM_PATHNAME|FNM_PERIOD)) continue;
r= lstat(de->d_name,&stab); if (r && errno==ENOENT) continue;
if (r) { syslog(LOG_ERR,"could not stat `" VARDIR "/%s': %m",de->d_name); continue; }
@@ -77,6 +77,7 @@ static void checkstalepipes(void) {
if (unlink(de->d_name) && errno!=ENOENT)
syslog(LOG_ERR,"could not remove stale pipe `%s': %m",de->d_name);
}
+ if (errno) syslog(LOG_ERR,"read directory " VARDIR ": %m");
if (closedir(dir)) syslog(LOG_ERR,"close directory " VARDIR ": %m");
}
@@ -246,7 +247,8 @@ static void NONRETURNING docheck(int needwanted) {
r= write(sfd,&request_mbuf,sizeof(request_mbuf));
if (r==sizeof(request_mbuf)) {
endmagic= REQUEST_END_MAGIC;
- write(sfd,&endmagic,sizeof(endmagic));
+ r= write(sfd,&endmagic,sizeof(endmagic));
+ (void)r;
}
syslog(LOG_NOTICE,"uservd[%ld] is running",(long)overlordpid);
#endif