[Mimedefang] defunct defang processes
David F. Skoll
dfs at roaringpenguin.com
Tue Mar 8 07:28:01 EST 2005
On Tue, 8 Mar 2005, John Nemeth wrote:
> If you point me at the code involved in tracking slaves, I may do
> some work on it myself, or I may setup another NetBSD box for you.
See mimedefang-multiplexor.c:
- When a child exits, the SIGCHLD handler "childHandler" is called.
- This function writes a bite to the pipe "Pipe"
- Which should make the other end readable, so in the main event loop,
"handlePipe" eventually gets called.
- And inside handlePipe, if there are any reaps pending, then
reapTerminatedSlaves gets called.
The flow is a little confusing because it's all event-driven and
wrapped around a big select() loop. The only way I can see signals
being missed is if sigprocmask isn't working properly on NetBSD.
There's a small critical section inside handlePipe during which
signals need to be blocked temporarily.
Regards,
David.
More information about the MIMEDefang
mailing list