diff options
Diffstat (limited to 'sys/kern/kern_condvar.c')
-rw-r--r-- | sys/kern/kern_condvar.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_condvar.c b/sys/kern/kern_condvar.c index 822a4c9..55fba60 100644 --- a/sys/kern/kern_condvar.c +++ b/sys/kern/kern_condvar.c @@ -534,8 +534,10 @@ cv_wakeup(struct cv *cvp) maybe_resched(td); } else { td->td_state = TDS_SWAPPED; - td->td_proc->p_sflag |= PS_SWAPINREQ; - wakeup(&proc0); /* XXXKSE */ + if ((td->td_proc->p_sflag & PS_SWAPPINGIN) == 0) { + td->td_proc->p_sflag |= PS_SWAPINREQ; + wakeup(&proc0); + } } /* END INLINE EXPANSION */ } |