summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/subr_sleepqueue.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/subr_sleepqueue.c b/sys/kern/subr_sleepqueue.c
index 8ce6c0a..01fcc73 100644
--- a/sys/kern/subr_sleepqueue.c
+++ b/sys/kern/subr_sleepqueue.c
@@ -424,6 +424,10 @@ sleepq_catch_signals(void *wchan, int pri)
PROC_UNLOCK(p);
thread_lock(td);
PROC_SUNLOCK(p);
+ if (ret == 0) {
+ sleepq_switch(wchan, pri);
+ return (0);
+ }
/*
* There were pending signals and this thread is still
* on the sleep queue, remove it from the sleep queue.
OpenPOWER on IntegriCloud