X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=overlord.c;h=8f0dcb8a69a974ee2468dd76f21bbc186f668de4;hb=6b27a56e90d8905ad9fd9d87c4bb3265914feb05;hp=2715b79b0a03e736a9fd1d750f9d35347c61f6ad;hpb=dcadbc2296660082203ef157f1fd333a7b2e1675;p=userv.git diff --git a/overlord.c b/overlord.c index 2715b79..8f0dcb8 100644 --- a/overlord.c +++ b/overlord.c @@ -82,7 +82,7 @@ static void checkstalepipes(void) { static void sighandler_chld(int x) { pid_t r; - int status, es, ar; + int status, es; es= errno; for (;;) { @@ -118,8 +118,7 @@ static void sighandler_chld(int x) { (long)checkpid,status); } checkpid= -1; - ar= alarm(USERVD_MYSELF_CHECK); - if (ar<0) { syslog(LOG_CRIT,"set alarm for next check: %m"); exit(5); } + alarm(USERVD_MYSELF_CHECK); } else { if (WIFSIGNALED(status)) { syslog(LOG_ERR,"call pid %ld %s due to signal %s", @@ -209,8 +208,7 @@ static void NONRETURNING docheck(int needwanted) { syslog(LOG_ERR,"unable to connect to uservd daemon: %m"); exit(1); } - r= alarm(USERVD_MYSELF_TIMEOUT); - if (r<0) { syslog(LOG_ERR,"set alarm for read: %m"); exit(1); } + alarm(USERVD_MYSELF_TIMEOUT); remain= sizeof(opening_mbuf); p= (unsigned char*)&opening_mbuf; while (remain) { r= read(sfd,p,remain); @@ -264,7 +262,8 @@ static void NONRETURNING startupsyscallerr(const char *what) { } int main(int argc, char *const *argv) { - int mfd, sfd, nfd, csocklen, e, r, becomedaemon; + int mfd, sfd, nfd, e, r, becomedaemon; + socklen_t csocklen; struct sigaction sigact; struct sockaddr_un ssockname, csockname; pid_t child, parentpid, sid; @@ -354,8 +353,7 @@ int main(int argc, char *const *argv) { break; } else if (errno==EAGAIN) { syslog(LOG_ERR,"fork for check - will wait and retry: %m"); - r= alarm(USERVD_CHECKFORK_RETRY); - if (r<0) { syslog(LOG_CRIT,"set alarm for retry check: %m"); exit(5); } + alarm(USERVD_CHECKFORK_RETRY); break; } else if (errno!=EINTR) { syslog(LOG_CRIT,"fork for check: %m"); exit(5);