[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: zombie processes in openldap-1.0.3 shell backend

I suspect this code is buggy.   Besides the wait() issue, it has
a few other problems.  First off, fork() in threaded environments
and doing anything other than exec() is a bad idea (including calling
close()).  I recommend you compile with -DNO_THREADS.   The code
should be rewritten to use a surrogate parent process to safely
fork the children in a multi-threaded environment.

I would welcome changes to back-shell to make it more robust.

Also, note, there has been some effort done in developing a
perl backend.  You might ask on -devel about the current status
of that work.


At 10:06 AM 12/14/98 -0800, Alan Sparks wrote:
>Starting to see zombies cluttering up the proc table from OpenLDAP 1.0.3
>with a few Perl shell backend scripts.
>I can't find anything in the back-shell code that does a wait(), or catches
>SIGCHLD to reap the processes.
>Is this being handled?  Somewhere that I'm not looking?
>Alan Sparks, IS Engineering Support
>Harris Communications, Camarillo CA                   (805) 389-2430