¿Debo hacer algo con un manejador SIGCHLD si solo estoy usando wait () para esperar a que 1 niño termine a la vez?
Tengo un programa que está forzando a un niño a hacer algún trabajo, pero solo estoy haciendo un niño a la vez en este momento. estoy usandowait()
para esperar a que el niño termine, ¿tengo que hacer algo conSIGCHLD
también (como deshabilitar el controlador)?
En mi situación estoy obteniendo un valor deEINTR
enerrno
Lo que me lleva a pensar que necesito enmascararme.SIGCHLD
.
A grandes rasgos, este es el programa:
leer argumentospara (lista de trabajo por hacer)fork()
si niñoexeclp()
al programa de trabajosi padrewait()
para que el niño terminecuando el niño termina, el padre pasa al siguiente elemento de trabajo