Preciso fazer alguma coisa com um manipulador SIGCHLD se eu estiver usando apenas wait () para esperar que uma criança termine por vez?
Eu tenho um programa que está pedindo a uma criança para fazer algum trabalho, mas eu estou apenas fazendo uma criança de cada vez neste momento. estou usandowait()
para esperar que a criança termine, preciso fazer qualquer coisa comSIGCHLD
também (como desativar o manipulador)?
Na minha situação eu estou recebendo um valor deEINTR
emerrno
o que me leva a pensar que preciso mascararSIGCHLD
.
Em linhas gerais, este é o programa:
ler argumentospara (lista de trabalho a fazer)fork()
se criançaexeclp()
para trabalhar programase pai,wait()
para a criança terminarQuando o filho termina, o pai faz um loop para o próximo item de trabalho