X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=daemon.c;h=f285a8c98ca9fbfc421b735f76f9d9f2248bd749;hb=12aac5de3dd73a1f9d03f81c5b0087e71794cee7;hp=6298f53fcf7f459acbb56faa50c71c104a9c5be9;hpb=1b4713fb9e6ec614e8dbca90b1a57d5ffa2f3fde;p=git.git diff --git a/daemon.c b/daemon.c index 6298f53f..f285a8c9 100644 --- a/daemon.c +++ b/daemon.c @@ -480,6 +480,8 @@ static int service_loop(int socknum, int *socklist) pfd[i].fd = socklist[i]; pfd[i].events = POLLIN; } + + signal(SIGCHLD, child_handler); for (;;) { int i; @@ -496,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) { @@ -518,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);