summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2009-10-29 16:28:21 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2009-10-29 16:28:21 +0000
commit5984920662e47d1e5d8b01a78ce1f5728086d3ee (patch)
treebb6abece4b65cadccc093bb326825ef4dcfff703
parentc2204c03c87c3626beebb1e17df22a17945ed3fc (diff)
Notes
-rw-r--r--sys/kern/kern_event.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index 6603d110c23f..e0dd56dfdda0 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -909,13 +909,13 @@ findkn:
/* knote is in the process of changing, wait for it to stablize. */
if (kn != NULL && (kn->kn_status & KN_INFLUX) == KN_INFLUX) {
+ KQ_GLOBAL_UNLOCK(&kq_global, haskqglobal);
+ kq->kq_state |= KQ_FLUXWAIT;
+ msleep(kq, &kq->kq_lock, PSOCK | PDROP, "kqflxwt", 0);
if (fp != NULL) {
fdrop(fp, td);
fp = NULL;
}
- KQ_GLOBAL_UNLOCK(&kq_global, haskqglobal);
- kq->kq_state |= KQ_FLUXWAIT;
- msleep(kq, &kq->kq_lock, PSOCK | PDROP, "kqflxwt", 0);
goto findkn;
}