X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=daemon.c;h=f285a8c98ca9fbfc421b735f76f9d9f2248bd749;hb=b23f02ee7aa3fc1cdaf6aebde9b731f22671251b;hp=526ac782cf73cf42eb52e7db803500a13bfa3714;hpb=0542f48c894f924d94a2bd05f7e4cbab25656112;p=git.git diff --git a/daemon.c b/daemon.c index 526ac782..f285a8c9 100644 --- a/daemon.c +++ b/daemon.c @@ -1,6 +1,5 @@ #include "cache.h" #include "pkt-line.h" -#include #include #include #include @@ -59,7 +58,7 @@ static void logreport(int priority, const char *err, va_list params) write(2, buf, buflen); } -void logerror(const char *err, ...) +static void logerror(const char *err, ...) { va_list params; va_start(params, err); @@ -67,7 +66,7 @@ void logerror(const char *err, ...) va_end(params); } -void loginfo(const char *err, ...) +static void loginfo(const char *err, ...) { va_list params; if (!verbose) @@ -464,9 +463,7 @@ static int socksetup(int port, int **socklist_p) return 0; } - *socklist_p = malloc(sizeof(int)); - if ( !*socklist_p ) - die("memory allocation failed: %s", strerror(errno)); + *socklist_p = xmalloc(sizeof(int)); **socklist_p = sockfd; } @@ -477,14 +474,14 @@ static int service_loop(int socknum, int *socklist) struct pollfd *pfd; int i; - pfd = calloc(socknum, sizeof(struct pollfd)); - if (!pfd) - die("memory allocation failed: %s", strerror(errno)); + pfd = xcalloc(socknum, sizeof(struct pollfd)); for (i = 0; i < socknum; i++) { pfd[i].fd = socklist[i]; pfd[i].events = POLLIN; } + + signal(SIGCHLD, child_handler); for (;;) { int i; @@ -501,7 +498,7 @@ static int service_loop(int socknum, int *socklist) for (i = 0; i < socknum; i++) { if (pfd[i].revents & POLLIN) { struct sockaddr_storage ss; - int sslen = sizeof(ss); + unsigned int sslen = sizeof(ss); int incoming = accept(pfd[i].fd, (struct sockaddr *)&ss, &sslen); if (incoming < 0) { switch (errno) { @@ -523,8 +520,6 @@ static int serve(int port) { int socknum, *socklist; - signal(SIGCHLD, child_handler); - socknum = socksetup(port, &socklist); if (socknum == 0) die("unable to allocate any listen sockets on port %u", port);