<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7638.1">
<TITLE>Bug in ndoutils / ndo2db</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hello List,<BR>
<BR>
I believe, I found a bug in ndo2db.c in ndoutils.<BR>
<BR>
Problem is:<BR>
ndo2db forks a child for each accepted connection.<BR>
The Parent process calls waitpid _once_ for each received SIGCHLD.<BR>
<BR>
But *nix does not guarantee the delievery of every SIGCHLD if multiple Signals of the same type occur.<BR>
--> increasing number of zombies.<BR>
<BR>
Usually this no problem because the number of forks and waits is quite small and the probability of lost SIGCHLDs is even smaller (practically zero).<BR>
In our setup clients close the connection frequently and we have over 500 Nagios instances reporting to one central ndo2db, which raises the number of forks, waits and losses of SIGCHLDs to a significant level.<BR>
<BR>
This patch repeats the call to waitpid until no finished children (zombies) are left.<BR>
<BR>
Regards,<BR>
Joey5337 / Tilo Renz<BR>
</FONT>
</P>

</BODY>
</HTML>