summaryrefslogtreecommitdiff
path: root/Kernel/Process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/Process.cpp')
-rw-r--r--Kernel/Process.cpp7
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;
}