From 215e629cd4244f40769e09df5951c6cbe66ed246 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 21 Jun 2010 12:26:21 -0400 Subject: Add bufferevent_lock()/bufferevent_unlock() Although bufferevent operations are threadsafe, sometimes you need to make sure that a few operations on a single bufferevent will all be executed with nothing intervening. That's what these functions are for. --- include/event2/bufferevent.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include') diff --git a/include/event2/bufferevent.h b/include/event2/bufferevent.h index 02cabe67..55e44f9c 100644 --- a/include/event2/bufferevent.h +++ b/include/event2/bufferevent.h @@ -423,6 +423,18 @@ int bufferevent_set_timeouts(struct bufferevent *bufev, void bufferevent_setwatermark(struct bufferevent *bufev, short events, size_t lowmark, size_t highmark); +/** + Acquire the lock on a bufferevent. Has no effect if locking was not + enabled with BEV_OPT_THREADSAFE. + */ +void bufferevent_lock(struct bufferevent *bufev); + +/** + Release the lock on a bufferevent. Has no effect if locking was not + enabled with BEV_OPT_THREADSAFE. + */ +void bufferevent_unlock(struct bufferevent *bufev); + /** Flags that can be passed into filters to let them know how to deal with the incoming data. -- cgit v1.2.1