summaryrefslogtreecommitdiff
path: root/sys/kern/kern_exit.c
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-06-08 23:53:06 -0400
committerIan Moffett <ian@osmora.org>2025-06-08 23:53:06 -0400
commitb54a16a99958228bd724c8d8ee27a0df65dcd364 (patch)
tree0713c19b3cf75da233b5e58c4c9c103a4d1507c1 /sys/kern/kern_exit.c
parent95a5c66267b597b07ea9b5dce18c5f5fe7f13630 (diff)
kernel: exit: Wake up parent *only* if asleep
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r--sys/kern/kern_exit.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index b6cbc4e..58d4506 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -156,8 +156,10 @@ exit1(struct proc *td, int flags)
if (td->data == NULL)
sched_enter();
- sched_enqueue_td(parent);
- parent->flags &= ~PROC_SLEEP;
+ if (ISSET(parent->flags, PROC_SLEEP)) {
+ sched_enqueue_td(parent);
+ parent->flags &= ~PROC_SLEEP;
+ }
sched_enter();
}