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.

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

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to