From: Luke D. <cod...@ho...> - 2002-07-22 07:27:20
|
You could use CreateProcess() and then WaitForMultipleObjects() to wait for one of the processes to terminate (possibly with a zero timeout). Since the value returned by spawn*() is apparently a process handle, you can probably pass it to WaitForMultipleObjects() instead of using CreateProcess(). Once you have determined that a process has finished, use GetExitCodeProcess() if you need the exit status. I don't know of anything like SIGCHLD that is provided by Windows, but somebody else might. Luke Dunstan ----- Original Message ----- From: "Thomas Gentsch" <tg...@e-...> To: <min...@li...> Sent: Monday, July 22, 2002 2:47 PM Subject: [Mingw-users] cwait for multiple spawned processes > > Hello there, > > I was playing around with spawn*() and cwait() and was asking myself > whether there is a way to spawn multiple processes in parallel and then > get notified asynchronously whenever any of them exits. > Basically what I'm looking for is something like: > > if((pid = waitpid((pid_t) -1, &e_code, WNOHANG)) > 0) > { > ... > } > > Or, is there anything comparable to a SIGCHLD signal? > > Any hint is greatly appreciated, > tge > > -- > ........................................................ > Thomas Gentsch > -------------- > Phone: +49 711 486948 E-mail: tg...@e-... > Mobil: +49 173 6620507 WWW: www.e-tge.de > Fax: +49 711 4687889 www.blue-elephant-systems.com > ........................................................ |