summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_smp.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2012-12-19 20:08:06 +0000
committerjeff <jeff@FreeBSD.org>2012-12-19 20:08:06 +0000
commitc3865e85e8e1cef7a04d07ee0792b609bb665706 (patch)
tree1dc8fdbb47c0a6a1f3db11d7c587ccd2594b3c9c /sys/kern/subr_smp.c
parent5f9f8c19a28b8b765fd18cd5ff225f9405e49c67 (diff)
downloadFreeBSD-src-c3865e85e8e1cef7a04d07ee0792b609bb665706.zip
FreeBSD-src-c3865e85e8e1cef7a04d07ee0792b609bb665706.tar.gz
- Correctly handle EWOULDBLOCK in quiesce_cpus
Discussed with: mav
Diffstat (limited to 'sys/kern/subr_smp.c')
-rw-r--r--sys/kern/subr_smp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c
index 3b27dce..3614798 100644
--- a/sys/kern/subr_smp.c
+++ b/sys/kern/subr_smp.c
@@ -766,8 +766,9 @@ quiesce_cpus(cpuset_t map, const char *wmesg, int prio)
thread_unlock(curthread);
while (gen[cpu] == pcpu->pc_idlethread->td_generation) {
error = tsleep(quiesce_cpus, prio, wmesg, 1);
- if (error)
+ if (error != EWOULDBLOCK)
goto out;
+ error = 0;
}
}
out:
OpenPOWER on IntegriCloud