From: Junio C Hamano Date: Tue, 12 Aug 2008 22:05:08 GMT Subject: Re: [PATCH] git-daemon: Simplify child management and associated logging by Message-ID: <7vzlnhq48b.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20080812212534.6871.19377.stgit@aristoteles.cuci.nl> "Stephen R. van den Berg" writes: > making the signal handler almost a no-op. > Fix the killing code to actually be smart instead of the > pseudo-random mess. > Get rid of the silly fixed array of children and make > max-connections dynamic and configurable in the process. > Make git-daemon a proper syslogging citizen with PID-info. > Simplify the overzealous double buffering in the logroutine, > remove the artificial maximum logline length in the process. > > Signed-off-by: Stephen R. van den Berg Sorry, but this does too many things in one patch. - Taking advantage of poll() getting interrupted by SIGCHLD, so that you do not have to do anything in the signal handler, is so obvious that I am actually ashamed of not having to think of it the last time we touched this code. Is there a poll() that does not return EINTR but just call the handler and restart after that as if nothing has happened, I have to wonder... - Conversion from silly fixed array to dynamic and configurable maximum would be a good idea, but that is independent from the above, isn't it? - I see you have a call to vsyslog, which is the first user of the function. How portable is it (the patch coming from you, I know Solaris would have it, and recent 4BSD also would, but what about the others)?