diff options
-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(); } |