26 #ifndef _DEFER_INTERNAL_H_
27 #define _DEFER_INTERNAL_H_
33 #include "event2/event-config.h"
34 #include <sys/queue.h>
38 typedef void (*deferred_cb_fn)(
struct deferred_cb *,
void *);
77 void event_deferred_cb_init(struct
deferred_cb *, deferred_cb_fn,
void *);
85 void event_deferred_cb_schedule(struct deferred_cb_queue *, struct deferred_cb *);
87 #define LOCK_DEFERRED_QUEUE(q) \
88 EVLOCK_LOCK((q)->lock, 0)
89 #define UNLOCK_DEFERRED_QUEUE(q) \
90 EVLOCK_UNLOCK((q)->lock, 0)
unsigned queued
True iff this deferred_cb is pending in an event_base.
Definition: defer-internal.h:46
deferred_cb_fn cb
The function to execute when the callback runs.
Definition: defer-internal.h:48
void(* notify_fn)(struct deferred_cb_queue *, void *)
Function called when adding to the queue from another thread.
Definition: defer-internal.h:62
TAILQ_ENTRY(deferred_cb) cb_next
Links to the adjacent active (pending) deferred_cb objects.
TAILQ_HEAD(deferred_cb_list, deferred_cb) deferred_cb_list
Deferred callback management: a list of deferred callbacks to run active the active events...
void * arg
The function's second argument.
Definition: defer-internal.h:50
A deferred_cb is a callback that can be scheduled to run as part of an event_base's event_loop...
Definition: defer-internal.h:42
int active_count
How many entries are in the queue?
Definition: defer-internal.h:59
Definition: event-internal.h:167
A deferred_cb_queue is a list of deferred_cb that we can add to and run.
Definition: defer-internal.h:54
void * lock
Lock used to protect the queue.
Definition: defer-internal.h:56