Re: [PATCH] git daemon: avoid calling syslog() from a signal handler
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 5, 2008, 17:26 UTC
- Message-ID
- <7vabgwtf6m.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.DEB.1.00.0807051201320.3334@eeepc-johanness>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 6 quoted lines
>> 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.