diff options
author | Ian Moffett <ian@osmora.org> | 2025-06-08 23:53:06 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-06-08 23:53:06 -0400 |
commit | b54a16a99958228bd724c8d8ee27a0df65dcd364 (patch) | |
tree | 0713c19b3cf75da233b5e58c4c9c103a4d1507c1 /sys/kern/kern_exit.c | |
parent | 95a5c66267b597b07ea9b5dce18c5f5fe7f13630 (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.c | 6 |
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(); } |