I don't think waitpid() is useful here since I don't know the order which the jobs will finish.So what? If you have to wait for John, Mary, Bob and Ellen, does it really matter that while you're waiting for John, Bob and Mary arrive, waiting their turn in the queue to be ticked of your list?
Just waitpid for all the pids in some order. If a child has finished before you've waited for it, waitpid returns instantly.
However, now that I think about it more critically, this is obviously flawed b/c wait() waits for any child process, not necessarily those that were spawned by the subroutine.This suggests that elsewhere in the program you're forking children as well, and not waiting for them (or at least, not waiting for it now) before forking and waiting in the subroutine you're describing.
In reply to Re: subroutines which forks?
by JavaFan
in thread subroutines which forks?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |