|
Lines 91-97
MTX_SYSINIT(kq_global, &kq_global, "kqueue order", MTX_DEF);
Link Here
|
| 91 |
haslck = 0; \ |
91 |
haslck = 0; \ |
| 92 |
} while (0) |
92 |
} while (0) |
| 93 |
|
93 |
|
| 94 |
TASKQUEUE_DEFINE_THREAD(kqueue); |
94 |
TASKQUEUE_DEFINE_THREAD(kqueue_ctx); |
| 95 |
|
95 |
|
| 96 |
static int kevent_copyout(void *arg, struct kevent *kevp, int count); |
96 |
static int kevent_copyout(void *arg, struct kevent *kevp, int count); |
| 97 |
static int kevent_copyin(void *arg, struct kevent *kevp, int count); |
97 |
static int kevent_copyin(void *arg, struct kevent *kevp, int count); |
|
Lines 1426-1432
kqueue_schedtask(struct kqueue *kq)
Link Here
|
| 1426 |
("scheduling kqueue task while draining")); |
1426 |
("scheduling kqueue task while draining")); |
| 1427 |
|
1427 |
|
| 1428 |
if ((kq->kq_state & KQ_TASKSCHED) != KQ_TASKSCHED) { |
1428 |
if ((kq->kq_state & KQ_TASKSCHED) != KQ_TASKSCHED) { |
| 1429 |
taskqueue_enqueue(taskqueue_kqueue, &kq->kq_task); |
1429 |
taskqueue_enqueue(taskqueue_kqueue_ctx, &kq->kq_task); |
| 1430 |
kq->kq_state |= KQ_TASKSCHED; |
1430 |
kq->kq_state |= KQ_TASKSCHED; |
| 1431 |
} |
1431 |
} |
| 1432 |
} |
1432 |
} |