diff options
author | jeff <jeff@FreeBSD.org> | 2012-12-19 20:08:06 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2012-12-19 20:08:06 +0000 |
commit | c3865e85e8e1cef7a04d07ee0792b609bb665706 (patch) | |
tree | 1dc8fdbb47c0a6a1f3db11d7c587ccd2594b3c9c /sys/kern/subr_smp.c | |
parent | 5f9f8c19a28b8b765fd18cd5ff225f9405e49c67 (diff) | |
download | FreeBSD-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.c | 3 |
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: |