summaryrefslogtreecommitdiff
path: root/kern/turnstile.c
diff options
context:
space:
mode:
Diffstat (limited to 'kern/turnstile.c')
-rw-r--r--kern/turnstile.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kern/turnstile.c b/kern/turnstile.c
index 3145399f..157c43f2 100644
--- a/kern/turnstile.c
+++ b/kern/turnstile.c
@@ -743,7 +743,10 @@ turnstile_wait_common(struct turnstile *turnstile, const char *wchan,
}
}
- assert(turnstile_waiter_awaken(&waiter));
+ /* Handle spurious wakeups */
+ if (!turnstile_waiter_awaken(&waiter)) {
+ continue;
+ }
/*
* The real priority of a thread may change between waking up