in reply to double fork trick vs sig chld wait

I guess I'm still a little unclear on what you need to accomplish with regard to child process management in the main loop. Ignoring SIGCLD won't do much for you, as the child's behavior will still be the same (ie, a zombie).

Since you are using system rather than exec, maybe you would be better served by using threads to do the work instead of child processes. I would pre-create a pool of 'child-threads', and task them as needed. As of perl 5.10 (I think), the stack_size parameter was supported, so you can create lots of threads without needing reams of memory.

fnord