Lines Matching refs:event

32 #include <isc/event.h>
248 isc_event_t *event, *prev;
270 for (event = TAIL(task->on_shutdown);
271 event != NULL;
272 event = prev) {
273 prev = PREV(event, ev_link);
274 DEQUEUE(task->on_shutdown, event, ev_link);
275 ENQUEUE(task->events, event, ev_link);
320 * make the task ready and allow run() or the event
358 isc_event_t *event;
365 event = *eventp;
366 REQUIRE(event != NULL);
367 REQUIRE(event->ev_type > 0);
379 ENQUEUE(task->events, event, ev_link);
390 * Send '*event' to 'task'.
432 * Send '*event' to '*taskp' and then detach '*taskp' from its
460 #define PURGE_OK(event) (((event)->ev_attributes & ISC_EVENTATTR_NOPURGE) == 0)
467 isc_event_t *event, *next_event;
485 for (event = HEAD(task->events); event != NULL; event = next_event) {
486 next_event = NEXT(event, ev_link);
487 if (event->ev_type >= first && event->ev_type <= last &&
488 (sender == NULL || event->ev_sender == sender) &&
489 (tag == NULL || event->ev_tag == tag) &&
490 (!purging || PURGE_OK(event))) {
491 DEQUEUE(task->events, event, ev_link);
492 ENQUEUE(*events, event, ev_link);
508 isc_event_t *event, *next_event;
511 * Purge events from a task's event queue.
521 for (event = HEAD(events); event != NULL; event = next_event) {
522 next_event = NEXT(event, ev_link);
523 isc_event_free(&event);
538 * Purge events from a task's event queue.
547 isc_task_purgeevent(isc_task_t *task, isc_event_t *event) {
551 * Purge 'event' from a task's event queue.
559 * If 'event' is on the task's event queue, it will be purged,
560 * unless it is marked as unpurgeable. 'event' does not have to be
561 * on the task's event queue; in fact, it can even be an invalid
562 * pointer. Purging only occurs if the event is actually on the task's
563 * event queue.
573 if (curr_event == event && PURGE_OK(event)) {
594 * Remove events from a task's event queue.
608 * Remove events from a task's event queue.
622 isc_event_t *event;
625 * Send a shutdown event with action 'action' and argument 'arg' when
632 event = isc_event_allocate(task->manager->mctx,
637 sizeof(*event));
638 if (event == NULL)
646 ENQUEUE(task->on_shutdown, event, ev_link);
650 isc_mem_put(task->manager->mctx, event, sizeof(*event));
826 isc_event_t *event;
847 event = HEAD(task->events);
848 DEQUEUE(task->events, event, ev_link);
851 * Execute the event action.
857 if (event->ev_action != NULL) {
859 (event->ev_action)(task,event);
878 * action (such as sending an event
931 * dispatching at least one event,
1192 * Post shutdown event(s) to every task (if they haven't already been