diff options
Diffstat (limited to 'sys/kern/kern_thread.c')
-rw-r--r-- | sys/kern/kern_thread.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index b003257..97c56a4 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -852,6 +852,7 @@ thread_suspend_switch(struct thread *td) p->p_suspcount++; PROC_UNLOCK(p); thread_lock(td); + sched_sleep(td); TD_SET_SUSPENDED(td); PROC_SUNLOCK(p); DROP_GIANT(); @@ -871,6 +872,7 @@ thread_suspend_one(struct thread *td) THREAD_LOCK_ASSERT(td, MA_OWNED); KASSERT(!TD_IS_SUSPENDED(td), ("already suspended")); p->p_suspcount++; + sched_sleep(td); TD_SET_SUSPENDED(td); } |