Este design tem condições de corrida escritas por todo o lado. Você não pode ter certeza de que os sinais serão entregues em ordem, ou mesmo de todo. Se você estiver usando o Perl, isso o torna duplamente incerto.
Recrie para que haja alguma confirmação de pai para filho de que os dados foram recebidos. A ordem e o número de entrega do sinal não são confiáveis. Pedir uma solução portátil é ainda mais inútil.