mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-31 16:57:10 +00:00
Fix failure to correctly transition back to sleep mode.
This commit is contained in:
parent
4ec593593a
commit
d5cb7e14f6
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=99247
@ -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();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user