Diego d'Ambra wrote: > > Charlie Brady wrote: > > On Fri, 29 May 2009, Diego d'Ambra wrote: > [...] > >> > >> Latest version of prefork also handles a possible race better, the > >> parent will detect a lock and reset shared memory. > > > > Sorry, I've to correct myself, that's not true. Apparently my > previously suggested changes didn't make it into trunk.
Please re-post it. -R > > > While what you say may be true, I think there is further improvement > > to be made. Child processes should remove themselves from the shared > > memory hash, rather than do it by the parent via sigchild. > > > > That is how it currently should work - look at the end of function > qpsmtpd_session - the child removes pid from shared memory. > > But you're right, there is also code in the reaper function - remove > the array of children terminated, hmmm... I think we should delete > that. > > Also add code so the child detects if the parent has gone away (child > should exit, not go back and wait for next connection). > > I would do a patch myself, if time permitted, but currently none is > available, sorry. > > > is there someone who is the 'design authority' on this aspect of the > > prefork daemon? > > > > I don't know, but last time I suggested a patch Radu Greab made the > commit. I posted a PATCH: message to the list and he picked it up. > > -- > Best regards, > Diego d'Ambra