( TCH | 2019. 06. 17., h – 13:17 )

A SIGCHLD pont megoldható, már csak azért is, mert tulajdonképpen nincs is rá szükség, ahogy a kapott siginfo-(k)ra sem.

Bármilyen child process-t is indítok, annak tudom a PID-jét. Ezeket tárolom egy listában. Ha beesik egy - vagy több - SIGCHLD, akkor - vagy akár periodikusan is - lehet végigiterálni a táblán és a child processeknek 0-ás signalt küldeni, ami a processeket nem bántja, de a kill() nullát ad vissza, ha a process még fut. Így pontosan tudja a program, hogy mikor melyik child process adta vissza return code-ját a parentjének, anélkül, hogy egyáltalán foglalkozna a SIGCHLD után kapott siginfo-kkal, vagy akár magával a signallal.

A meghatározatlan állapotban hagyott file descriptor viszont tényleg elég nagy gáz.