Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] git daemon: avoid calling syslog() from a signal handler

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:53

Johannes Schindelin [off-list ref] writes:
Signal handlers should never call syslog(), as that can raise signals
of its own.

Instead, call the syslog() from the master process.
Earlier parts seem to make sense but I am puzzled by these changes.
quoted hunk
@@ -929,7 +945,8 @@ static int service_loop(int socknum, int *socklist)
 	for (;;) {
 		int i;
 
-		if (poll(pfd, socknum, -1) < 0) {
+		i = poll(pfd, socknum, 1);
+		if (i < 0) {
 			if (errno != EINTR) {
 				error("poll failed, resuming: %s",
 				      strerror(errno));
@@ -937,6 +954,10 @@ static int service_loop(int socknum, int *socklist)
 			}
 			continue;
 		}
+		if (i == 0) {
+			check_dead_children();
+			continue;
+		}
So you will check every 1ms to see if there are new dead children, but why
is this necessary?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help