Fixed waitpid handling

This commit is contained in:
Lester Hightower 2024-07-02 10:14:50 -04:00
rodzic 5236c8d947
commit bf920a533d

Wyświetl plik

@ -709,7 +709,7 @@ void child_handler(int signum, siginfo_t *info, void *context)
while (1) {
int status;
pid_t p = waitpid(-1, &status, WNOHANG);
if(p == 0) // No more children to reap
if(p == 0 || (p == -1 && errno == ECHILD)) // No more children to reap
{
return; // exits infinite while loop and child_handler() function
}