ayuda con coordinacion entre procesos

Jaime
10 de Diciembre del 2002
Hola, tengo un problemilla para coordinar procesos, el padre me acaba antes de que finalicen los hijos y no se por que.. me explico, el programa padre crea un numero aleatorio de hijos y despues ha de esperar a que finalicen todos ellos antes de acabar. Pero he puesto una serie de wait() tantos como procesos hijos lanzo y no me funciona, he probado a usar el waitpid pero como no se en que orden van a acabar los procesos hijos (unos tardan 1 seg otros 0'1, 20...) tampoco obtengo el resultado buscado..tengo que medir cuanto tardan en ejecutarse todos los procesos en conjunto pero si el padre no espera...toy echo un lio.
Por favor echadme un cable. Muchas gracias de antemano

webJose
10 de Diciembre del 2002
La solución más sencilla es utilizar objetos de sincronización de Windows (synchronization objects). La ayuda la puede leer en http://msdn.microsoft.com/library. Podría ser que en su caso tenga que crear tantos Events como procesos debe esperar, y luego utiliza la función WaitForMultipleObjects() en el padre para esperar a la conclusión de todos los procesos.

Jaime
10 de Diciembre del 2002
Gracias pero estoy trabajando sobre linux y freeBSD, tengo que hacer una especie de comparativa entre esos dos SO y para ello creo varios programas que simulen el comportamiento de cada usuario, lanzando procesos, E/S...
No se como hacerlo, lo que en teoria deberia funcionar no funciona. Gracias de todas formas