From 785ac0d486aa451ecf2965964d9752455f9c1b12 Mon Sep 17 00:00:00 2001 From: Matheus Date: Sun, 16 Oct 2022 18:52:34 -0300 Subject: [PATCH] waitpid: fix deadlock --- src/sys/syscalls/waitpid.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sys/syscalls/waitpid.c b/src/sys/syscalls/waitpid.c index 3d7796f8..000cbe00 100644 --- a/src/sys/syscalls/waitpid.c +++ b/src/sys/syscalls/waitpid.c @@ -51,12 +51,12 @@ syscallret syscall_waitpid(pid_t pid, int *status, int options){ sibling = NULL; while(child){ - if(pid > 0 && child->pid != pid) - continue; if(child->state == PROC_STATE_ZOMBIE){ - loop = false; - break; + if((pid > 0 && child->pid == pid) || pid == 0){ + loop = false; + break; + } } if(child->sibling)