summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_sleepqueue.c
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-03-17 09:59:02 -0300
committerRenato Botelho <renato@netgate.com>2016-03-17 09:59:02 -0300
commit26579e8947bb764387ecc9b47dbe846b8eb476a4 (patch)
tree1a160679cf6b42ac86e8a46428b72718516eda5a /sys/kern/subr_sleepqueue.c
parenta26e4b3de35515ec3eaf2eb76b001a6a502bf56c (diff)
parent5c5f0dbf8c72e3f9756938b33922f00eda1decd8 (diff)
downloadFreeBSD-src-26579e8947bb764387ecc9b47dbe846b8eb476a4.zip
FreeBSD-src-26579e8947bb764387ecc9b47dbe846b8eb476a4.tar.gz
Merge remote-tracking branch 'origin/stable/10' into devel
Diffstat (limited to 'sys/kern/subr_sleepqueue.c')
-rw-r--r--sys/kern/subr_sleepqueue.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/subr_sleepqueue.c b/sys/kern/subr_sleepqueue.c
index d4ae25f..c490460 100644
--- a/sys/kern/subr_sleepqueue.c
+++ b/sys/kern/subr_sleepqueue.c
@@ -572,7 +572,8 @@ sleepq_check_timeout(void)
* another CPU, so synchronize with it to avoid having it
* accidentally wake up a subsequent sleep.
*/
- else if (callout_stop(&td->td_slpcallout) == 0) {
+ else if (_callout_stop_safe(&td->td_slpcallout, CS_MIGRBLOCK)
+ == 0) {
td->td_flags |= TDF_TIMEOUT;
TD_SET_SLEEPING(td);
mi_switch(SW_INVOL | SWT_SLEEPQTIMO, NULL);
OpenPOWER on IntegriCloud