lists.zerezo.com
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] git daemon: avoid calling syslog() from a signal handler
- Date: Sat, 05 Jul 2008 00:34:04 -0700
- From: Junio C Hamano <gitster@xxxxxxxxx>
- Subject: Re: [PATCH] git daemon: avoid calling syslog() from a signal handler
Johannes Schindelin <Johannes.Schindelin@xxxxxx> 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.
> @@ -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?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html