From 75b706fde4cbf82bcd41a1cec319778aa0f8eb2d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 9 Dec 2016 14:19:03 +0100 Subject: Update to FreeBSD head 2016-12-10 Git mirror commit 80c55f08a05ab3b26a73b226ccb56adc3122a55c. --- freebsd/sys/kern/subr_sleepqueue.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'freebsd/sys/kern/subr_sleepqueue.c') diff --git a/freebsd/sys/kern/subr_sleepqueue.c b/freebsd/sys/kern/subr_sleepqueue.c index be8e7721..a42c62f8 100644 --- a/freebsd/sys/kern/subr_sleepqueue.c +++ b/freebsd/sys/kern/subr_sleepqueue.c @@ -434,7 +434,7 @@ sleepq_set_timeout_sbt(void *wchan, sbintime_t sbt, sbintime_t pr, MPASS(TD_ON_SLEEPQ(td)); MPASS(td->td_sleepqueue == NULL); MPASS(wchan != NULL); - if (cold) + if (cold && td == &thread0) panic("timed sleep before timers are working"); KASSERT(td->td_sleeptimo == 0, ("td %d %p td_sleeptimo %jx", td->td_tid, td, (uintmax_t)td->td_sleeptimo)); @@ -1089,9 +1089,9 @@ sleepq_signal(void *wchan, int flags, int pri, int queue) * been sleeping the longest since threads are always added to * the tail of sleep queues. */ - besttd = NULL; + besttd = TAILQ_FIRST(&sq->sq_blocked[queue]); TAILQ_FOREACH(td, &sq->sq_blocked[queue], td_slpq) { - if (besttd == NULL || td->td_priority < besttd->td_priority) + if (td->td_priority < besttd->td_priority) besttd = td; } #else /* __rtems__ */ -- cgit v1.2.3