Mark the finalize stuff as experiemental in case it needs to change

This commit is contained in:
Nick Mathewson 2013-04-30 10:22:40 -04:00
parent 920a5e69b0
commit 8415b69d42

View File

@ -608,6 +608,9 @@ void event_base_free(struct event_base *);
/** /**
As event_free, but do not run finalizers. As event_free, but do not run finalizers.
THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES
BECOMES STABLE.
*/ */
void event_base_free_nofinalize(struct event_base *); void event_base_free_nofinalize(struct event_base *);
@ -845,6 +848,9 @@ int event_base_got_break(struct event_base *);
* To use this option safely, you may need to use event_finalize() or * To use this option safely, you may need to use event_finalize() or
* event_free_finalize() in order to safely tear down an event in a * event_free_finalize() in order to safely tear down an event in a
* multithreaded application. See those functions for more information. * multithreaded application. See those functions for more information.
*
* THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES
* BECOMES STABLE.
**/ **/
#define EV_FINALIZE 0x40 #define EV_FINALIZE 0x40
/**@}*/ /**@}*/
@ -1016,7 +1022,11 @@ int event_assign(struct event *, struct event_base *, evutil_socket_t, short, ev
void event_free(struct event *); void event_free(struct event *);
/** /**
Callback type for event_finalize and event_free_finalize(). * Callback type for event_finalize and event_free_finalize().
*
* THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES
* BECOMES STABLE.
*
**/ **/
typedef void (*event_finalize_callback_fn)(struct event *, void *); typedef void (*event_finalize_callback_fn)(struct event *, void *);
/** /**
@ -1047,6 +1057,9 @@ typedef void (*event_finalize_callback_fn)(struct event *, void *);
add events, activate events, or attempt to "resucitate" the event being add events, activate events, or attempt to "resucitate" the event being
finalized in any way. finalized in any way.
THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES
BECOMES STABLE.
@return 0 on succes, -1 on failure. @return 0 on succes, -1 on failure.
*/ */
/**@{*/ /**@{*/
@ -1131,12 +1144,18 @@ int event_del(struct event *);
As event_del(), but never blocks while the event's callback is running As event_del(), but never blocks while the event's callback is running
in another thread, even if the event was constructed without the in another thread, even if the event was constructed without the
EV_FINALIZE flag. EV_FINALIZE flag.
THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES
BECOMES STABLE.
*/ */
int event_del_noblock(struct event *ev); int event_del_noblock(struct event *ev);
/** /**
As event_del(), but always blocks while the event's callback is running As event_del(), but always blocks while the event's callback is running
in another thread, even if the event was constructed with the in another thread, even if the event was constructed with the
EV_FINALIZE flag. EV_FINALIZE flag.
THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES
BECOMES STABLE.
*/ */
int event_del_block(struct event *ev); int event_del_block(struct event *ev);