Problem with Parallel::ForkManager on Windows Vista

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I'm using Parallel::ForkManager to periodically run a number of tasks
in parallel. It seems to work about 90% of the time. What I'm finding
the remaining 10% of the time, however, is that the while the forked
off process disappears from the windows process list, it never seems
to register as completed with the waitpid ()within Perl nor does it
decrement the parent process's thread count in the process list.

I'm aware that fork isn't fully supported really on Windows but maybe
someone's familiar with this issue or is aware of a workaround.

Thanks in advance,

Re: Problem with Parallel::ForkManager on Windows Vista

Quoted text here. Click to load it
I described this poorly.

I should have mentioned that each forked child runs a system command
from which the standard out is being captured. These are the PIDs I'm
seeing on the process list and  that are then (correctly)
disappearing. It's the child processes that call them that aren't
terminating (about 10% of the time).

It would appear that if the children don't capture any stdout the
problem I goes away -- the system commands terminate as do the child
processes that called them.

Whatever caused this problem it seems to have something to do with
multiple children all reading from the STDOUT of opened pipes. I can
only assume that this is a known issue with the Windows implementation
of fork.

Site Timeline