Deleted Added
full compact
65c65
< __FBSDID("$FreeBSD: head/sys/kern/subr_sleepqueue.c 131473 2004-07-02 19:09:50Z jhb $");
---
> __FBSDID("$FreeBSD: head/sys/kern/subr_sleepqueue.c 134013 2004-08-19 11:31:42Z jhb $");
116c116
< int sq_flags; /* (c) Flags. */
---
> int sq_type; /* (c) Queue type. */
282c282
< sq->sq_flags = flags;
---
> sq->sq_type = flags & SLEEPQ_TYPE;
299a300,301
> if (flags & SLEEPQ_INTERRUPTIBLE)
> td->td_flags |= TDF_SINTR;
348c350
< mtx_lock_spin(&sched_lock);
---
> MPASS(td->td_flags & TDF_SINTR);
350,351d351
< td->td_flags |= TDF_SINTR;
< mtx_unlock_spin(&sched_lock);
367c367,369
< * the sleep queue, remove it from the sleep queue.
---
> * the sleep queue, remove it from the sleep queue. If the
> * thread was removed from the sleep queue while we were blocked
> * above, then clear TDF_SINTR before returning.
374c376,378
< } else
---
> } else {
> if (!TD_ON_SLEEPQ(td) && sig == 0)
> td->td_flags &= ~TDF_SINTR;
375a380
> }
467a473,479
> /*
> * If TDF_SINTR is clear, then we were awakened while executing
> * sleepq_catch_signals().
> */
> if (!(td->td_flags & TDF_SINTR))
> return (0);
>
515a528
> MPASS(!(curthread->td_flags & TDF_SINTR));
543a557
> MPASS(!(curthread->td_flags & TDF_SINTR));
652c666
< KASSERT(sq->sq_flags == flags,
---
> KASSERT(sq->sq_type == (flags & SLEEPQ_TYPE),
682c696
< KASSERT(sq->sq_flags == flags,
---
> KASSERT(sq->sq_type == (flags & SLEEPQ_TYPE),