Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/subr_sleepqueue.c
Show First 20 Lines • Show All 1,120 Lines • ▼ Show 20 Lines | |||||
sleepq_abort(struct thread *td, int intrval) | sleepq_abort(struct thread *td, int intrval) | ||||
{ | { | ||||
struct sleepqueue *sq; | struct sleepqueue *sq; | ||||
const void *wchan; | const void *wchan; | ||||
THREAD_LOCK_ASSERT(td, MA_OWNED); | THREAD_LOCK_ASSERT(td, MA_OWNED); | ||||
MPASS(TD_ON_SLEEPQ(td)); | MPASS(TD_ON_SLEEPQ(td)); | ||||
MPASS(td->td_flags & TDF_SINTR); | MPASS(td->td_flags & TDF_SINTR); | ||||
MPASS(intrval == EINTR || intrval == ERESTART); | MPASS(intrval == 0 || intrval == EINTR || intrval == ERESTART); | ||||
markj: Can it be `(intrval == 0 && (td->td_flags & TDF_SIGWAIT) != 0) || intrval == EINTR || intrval… | |||||
/* | /* | ||||
* If the TDF_TIMEOUT flag is set, just leave. A | * If the TDF_TIMEOUT flag is set, just leave. A | ||||
* timeout is scheduled anyhow. | * timeout is scheduled anyhow. | ||||
*/ | */ | ||||
if (td->td_flags & TDF_TIMEOUT) { | if (td->td_flags & TDF_TIMEOUT) { | ||||
thread_unlock(td); | thread_unlock(td); | ||||
return (0); | return (0); | ||||
▲ Show 20 Lines • Show All 382 Lines • Show Last 20 Lines |
Can it be (intrval == 0 && (td->td_flags & TDF_SIGWAIT) != 0) || intrval == EINTR || intrval == ERESTART?