summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();
}