summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_clock.c')
-rw-r--r--sys/kern/kern_clock.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/kern/kern_clock.c b/sys/kern/kern_clock.c
index fdc5905..5097862 100644
--- a/sys/kern/kern_clock.c
+++ b/sys/kern/kern_clock.c
@@ -213,8 +213,10 @@ deadlkres(void)
MPASS(td->td_blocked != NULL);
/* Handle ticks wrap-up. */
- if (ticks < td->td_blktick)
+ if (ticks < td->td_blktick) {
+ thread_unlock(td);
continue;
+ }
tticks = ticks - td->td_blktick;
thread_unlock(td);
if (tticks > blkticks) {
@@ -233,8 +235,10 @@ deadlkres(void)
} else if (TD_IS_SLEEPING(td)) {
/* Handle ticks wrap-up. */
- if (ticks < td->td_blktick)
+ if (ticks < td->td_blktick) {
+ thread_unlock(td);
continue;
+ }
/*
* Check if the thread is sleeping on a
OpenPOWER on IntegriCloud