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)