>
> Yeah, that's what I ended up doing, and defining some global variables so
> that I could re-use the previous functions I created, thanks for the help!
>
> One other question I had, is pcntl_waitpid necessary in this case?  Passing
> WNOHANG to it causes it to return immediately regardless of whether the
> child has exited or not, and my previous test when I didn't use
> pcntl_waitpid seemed to not leave any zombies as well.  Would it be fine
> just to spawn off the child, and have the child exit at the end, and
> continue on my merry way with the parent without checking the status of the
> child?
>
>  As a more general question, I'm worried that if I just keep the script as
> is, it's going to spawn off some crazy number of processes if I don't cap
> it.  The first solution I came up with is to use a static variable in the
> parent thread, and then sleep every 20 threads or so.  The most robust
> solution would be to build logic into the calling function to actually check
> for pids and only dispatch new threads when old ones had finished, but that
> requires changing multiple places, while this can be localised to just the
> dispatcher function.  Does the first solution I propose seem sane?
>
> Waynn
>
>
Actually, I just had another thought.  I could take away the WNOHANG from
pcntl_waitpid, and every 20 or so threads, wait for one to complete.  It
won't be precise, but it'll more or less queue them up in batches of 20 for
sending.

Reply via email to