The r178914 I erronously put the setting of the KQ_FLUXWAIT flag before
KQ_FLUX_WAKEUP(). Since the later macro clears the KQ_FLUXWAIT, the kqueue_scan() thread may be not woken up. Move the setting of KQ_FLUXWAIT after wakeup to correct the issue. Reported and tested by: pho MFC after: 3 days
This commit is contained in:
parent
5a1c985723
commit
ea1979e3d2
@ -1211,12 +1211,11 @@ start:
|
||||
|
||||
if ((kn->kn_status == KN_MARKER && kn != marker) ||
|
||||
(kn->kn_status & KN_INFLUX) == KN_INFLUX) {
|
||||
kq->kq_state |= KQ_FLUXWAIT;
|
||||
if (influx) {
|
||||
influx = 0;
|
||||
KQ_FLUX_WAKEUP(kq);
|
||||
}
|
||||
|
||||
kq->kq_state |= KQ_FLUXWAIT;
|
||||
error = msleep(kq, &kq->kq_lock, PSOCK,
|
||||
"kqflxwt", 0);
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user