Lines Matching defs:event
32 #include <isc/event.h>
52 * an integrated event loop for socket, timer, and other generic task events.
200 isc__task_purgeevent(isc_task_t *task0, isc_event_t *event);
414 isc_event_t *event, *prev;
437 for (event = TAIL(task->on_shutdown);
438 event != NULL;
439 event = prev) {
440 prev = PREV(event, ev_link);
441 DEQUEUE(task->on_shutdown, event, ev_link);
442 ENQUEUE(task->events, event, ev_link);
494 * make the task ready and allow run() or the event
532 isc_event_t *event;
539 event = *eventp;
540 REQUIRE(event != NULL);
541 REQUIRE(event->ev_type > 0);
553 ENQUEUE(task->events, event, ev_link);
565 * Send '*event' to 'task'.
607 * Send '*event' to '*taskp' and then detach '*taskp' from its
635 #define PURGE_OK(event) (((event)->ev_attributes & ISC_EVENTATTR_NOPURGE) == 0)
642 isc_event_t *event, *next_event;
660 for (event = HEAD(task->events); event != NULL; event = next_event) {
661 next_event = NEXT(event, ev_link);
662 if (event->ev_type >= first && event->ev_type <= last &&
663 (sender == NULL || event->ev_sender == sender) &&
664 (tag == NULL || event->ev_tag == tag) &&
665 (!purging || PURGE_OK(event))) {
666 DEQUEUE(task->events, event, ev_link);
667 ENQUEUE(*events, event, ev_link);
684 isc_event_t *event, *next_event;
687 * Purge events from a task's event queue.
697 for (event = HEAD(events); event != NULL; event = next_event) {
698 next_event = NEXT(event, ev_link);
699 isc_event_free(&event);
714 * Purge events from a task's event queue.
723 isc__task_purgeevent(isc_task_t *task0, isc_event_t *event) {
728 * Purge 'event' from a task's event queue.
736 * If 'event' is on the task's event queue, it will be purged,
737 * unless it is marked as unpurgeable. 'event' does not have to be
738 * on the task's event queue; in fact, it can even be an invalid
739 * pointer. Purging only occurs if the event is actually on the task's
740 * event queue.
750 if (curr_event == event && PURGE_OK(event)) {
771 * Remove events from a task's event queue.
785 * Remove events from a task's event queue.
801 isc_event_t *event;
804 * Send a shutdown event with action 'action' and argument 'arg' when
811 event = isc_event_allocate(task->manager->mctx,
816 sizeof(*event));
817 if (event == NULL)
825 ENQUEUE(task->on_shutdown, event, ev_link);
829 isc_mem_put(task->manager->mctx, event, sizeof(*event));
1081 isc_event_t *event;
1101 event = HEAD(task->events);
1102 DEQUEUE(task->events, event, ev_link);
1105 * Execute the event action.
1111 if (event->ev_action != NULL) {
1113 (event->ev_action)(
1115 event);
1134 * action (such as sending an event
1187 * dispatching at least one event,
1513 * Post shutdown event(s) to every task (if they haven't already been