From: Junio C Hamano Date: Sat, 05 Jul 2008 17:26:57 GMT Subject: Re: [PATCH] git daemon: avoid calling syslog() from a signal handler Message-ID: <7vabgwtf6m.fsf@gitster.siamese.dyndns.org> In-Reply-To: Johannes Schindelin writes: >> So you will check every 1ms to see if there are new dead children, but why >> is this necessary? > > This comes from me not reading the man page for poll() properly. Of > course, I want to check every second: syslog timestamps the messages with > a resolution of 1 second, AFAIR, or at least some of them do. Hmm. The question was not about the millisecond typo, but about why time-out at all. We would need to somehow break out of poll() after handling the SIGCHLD signal and I guess timing the syscall out would be the most obvious way, but somehow it felt awkward. Another way would be to set up a pipe to ourself that is included in the poll() and write a byte to the pipe from the signal handler.