diff options
Diffstat (limited to 'Kernel/Process.cpp')
-rw-r--r-- | Kernel/Process.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 3e849fb0d3..9ee629f083 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -2318,14 +2318,13 @@ pid_t Process::sys$waitpid(pid_t waitee, int* wstatus, int options) if (!waitee_process) return -ECHILD; - auto* waitee_thread = Thread::from_tid(waitee_pid); - if (!waitee_thread) - return -ECHILD; - ASSERT(waitee_process); if (waitee_process->is_dead()) { exit_status = reap(*waitee_process); } else { + auto* waitee_thread = Thread::from_tid(waitee_pid); + if (!waitee_thread) + return -ECHILD; ASSERT(waitee_thread->state() == Thread::State::Stopped); exit_status = (waitee_thread->m_stop_signal << 8) | 0x7f; } |