From d5cb7e14f64a5208236e1223e04c7ac01f16bac7 Mon Sep 17 00:00:00 2001 From: Julian Elischer Date: Tue, 2 Jul 2002 05:33:46 +0000 Subject: [PATCH] Fix failure to correctly transition back to sleep mode. --- sys/kern/kern_condvar.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/kern_condvar.c b/sys/kern/kern_condvar.c index 78585b28da6a..9771077bbbd6 100644 --- a/sys/kern/kern_condvar.c +++ b/sys/kern/kern_condvar.c @@ -394,8 +394,10 @@ cv_timedwait(struct cv *cvp, struct mtx *mp, int timo) /* * Work around race with cv_timedwait_end similar to that * between msleep and endtsleep. + * Go back to sleep. */ td->td_flags |= TDF_TIMEOUT; + td->td_state = TDS_SLP; td->td_proc->p_stats->p_ru.ru_nivcsw++; mi_switch(); } @@ -470,8 +472,10 @@ cv_timedwait_sig(struct cv *cvp, struct mtx *mp, int timo) /* * Work around race with cv_timedwait_end similar to that * between msleep and endtsleep. + * Go back to sleep. */ td->td_flags |= TDF_TIMEOUT; + td->td_state = TDS_SLP; td->td_proc->p_stats->p_ru.ru_nivcsw++; mi_switch(); }