diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-07-28 09:45:15 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-08-09 21:37:41 +0200 |
commit | aba9d48f55b7e69af0967d0f435843c833357ec7 (patch) | |
tree | 8609d3f96c11e62e8f7a305755f5f24694a232b2 | |
parent | 3c38ec72e74dd60b81964ebf661f5d5af8724968 (diff) | |
download | samba-aba9d48f55b7e69af0967d0f435843c833357ec7.tar.gz samba-aba9d48f55b7e69af0967d0f435843c833357ec7.tar.bz2 samba-aba9d48f55b7e69af0967d0f435843c833357ec7.zip |
tevent: allow tevent_queue_add() to take a NULL trigger function
This way the caller can add a blocker to the queue.
metze
-rw-r--r-- | lib/tevent/tevent.h | 4 | ||||
-rw-r--r-- | lib/tevent/tevent_queue.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/tevent/tevent.h b/lib/tevent/tevent.h index 3b170a4dc8..c96ca354f5 100644 --- a/lib/tevent/tevent.h +++ b/lib/tevent/tevent.h @@ -1395,7 +1395,9 @@ typedef void (*tevent_queue_trigger_fn_t)(struct tevent_req *req, * @param[in] req The tevent request to add to the queue. * * @param[in] trigger The function triggered by the queue when the request - * is called. + * is called. Since tevent 0.9.14 it's possible to + * pass NULL, in order to just add a "blocker" to the + * queue. * * @param[in] private_data The private data passed to the trigger function. * diff --git a/lib/tevent/tevent_queue.c b/lib/tevent/tevent_queue.c index 446804c9a5..3fca7fb948 100644 --- a/lib/tevent/tevent_queue.c +++ b/lib/tevent/tevent_queue.c @@ -163,6 +163,13 @@ bool tevent_queue_add(struct tevent_queue *queue, e->trigger = trigger; e->private_data = private_data; + /* + * if there is no trigger, it is just a blocker + */ + if (trigger == NULL) { + e->triggered = true; + } + DLIST_ADD_END(queue->list, e, struct tevent_queue_entry *); queue->length++; talloc_set_destructor(e, tevent_queue_entry_destructor); |