diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_sched.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c index ca5bfbe..c1eb3d8 100644 --- a/sys/kern/kern_sched.c +++ b/sys/kern/kern_sched.c @@ -105,12 +105,14 @@ sched_dequeue_td(void) if (!TAILQ_EMPTY(&queue->q)) { td = TAILQ_FIRST(&queue->q); TAILQ_REMOVE(&queue->q, td, link); - break; + spinlock_release(&tdq_lock); + return td; } } + /* We got nothing */ spinlock_release(&tdq_lock); - return td; + return NULL; } /* |