libevent  2.2.1
Event notification library
Macros | Functions
event_compat.h File Reference

Potentially non-threadsafe versions of the functions in event.h: provided only for backwards compatibility. More...

#include <event2/visibility.h>
#include <event2/event-config.h>
#include <event2/util.h>

Go to the source code of this file.

Macros

#define EVENT_FD(ev)   ((int)event_get_fd(ev))
 
#define EVENT_SIGNAL(ev)   event_get_signal(ev)
 
#define evsignal_set(ev, x, cb, arg)   event_set((ev), (x), EV_SIGNAL|EV_PERSIST, (cb), (arg))
 
#define evtimer_set(ev, cb, arg)   event_set((ev), -1, 0, (cb), (arg))
 
timeout_* macros
Deprecated:
These macros are deprecated because their naming is inconsistent with the rest of Libevent.

Use the evtimer_* macros instead.

#define timeout_add(ev, tv)   event_add((ev), (tv))
 
#define timeout_del(ev)   event_del(ev)
 
#define timeout_initialized(ev)   event_initialized(ev)
 
#define timeout_pending(ev, tv)   event_pending((ev), EV_TIMEOUT, (tv))
 
#define timeout_set(ev, cb, arg)   event_set((ev), -1, 0, (cb), (arg))
 
signal_* macros
Deprecated:
These macros are deprecated because their naming is inconsistent with the rest of Libevent.

Use the evsignal_* macros instead.

#define signal_add(ev, tv)   event_add((ev), (tv))
 
#define signal_del(ev)   event_del(ev)
 
#define signal_initialized(ev)   event_initialized(ev)
 
#define signal_pending(ev, tv)   event_pending((ev), EV_SIGNAL, (tv))
 
#define signal_set(ev, x, cb, arg)   event_set((ev), (x), EV_SIGNAL|EV_PERSIST, (cb), (arg))
 

Functions

EVENT2_EXPORT_SYMBOL int event_dispatch (void)
 Loop to process events. More...
 
const EVENT2_EXPORT_SYMBOL char * event_get_method (void)
 Get the kernel event notification mechanism used by Libevent. More...
 
EVENT2_EXPORT_SYMBOL struct event_baseevent_init (void)
 Initialize the event API. More...
 
EVENT2_EXPORT_SYMBOL int event_loop (int)
 Handle events. More...
 
EVENT2_EXPORT_SYMBOL int event_loopbreak (void)
 Abort the active event_loop() immediately. More...
 
EVENT2_EXPORT_SYMBOL int event_loopexit (const struct timeval *)
 Exit the event loop after the specified time. More...
 
EVENT2_EXPORT_SYMBOL int event_once (evutil_socket_t, short, void(*)(evutil_socket_t, short, void *), void *, const struct timeval *)
 Schedule a one-time event to occur. More...
 
EVENT2_EXPORT_SYMBOL int event_priority_init (int)
 Set the number of different event priorities. More...
 
EVENT2_EXPORT_SYMBOL void event_set (struct event *, evutil_socket_t, short, void(*)(evutil_socket_t, short, void *), void *)
 Prepare an event structure to be added. More...
 

Detailed Description

Potentially non-threadsafe versions of the functions in event.h: provided only for backwards compatibility.

In the oldest versions of Libevent, event_base was not a first-class structure. Instead, there was a single event base that every function manipulated. Later, when separate event bases were added, the old functions that didn't take an event_base argument needed to work by manipulating the "current" event base. This could lead to thread-safety issues, and obscure, hard-to-diagnose bugs.

Deprecated:
All functions in this file are by definition deprecated.

Function Documentation

◆ event_dispatch()

EVENT2_EXPORT_SYMBOL int event_dispatch ( void  )

Loop to process events.

Like event_base_dispatch(), but uses the "current" base.

Deprecated:
This function is deprecated because it is easily confused by multiple calls to event_init(), and because it is not safe for multithreaded use. The replacement is event_base_dispatch().
See also
event_base_dispatch(), event_init()

◆ event_get_method()

const EVENT2_EXPORT_SYMBOL char* event_get_method ( void  )

Get the kernel event notification mechanism used by Libevent.

Deprecated:
This function is obsolete, and has been replaced by event_base_get_method(). Its use is deprecated because it relies on the "current" base configured by event_init().
See also
event_base_get_method()

◆ event_init()

EVENT2_EXPORT_SYMBOL struct event_base* event_init ( void  )

Initialize the event API.

The event API needs to be initialized with event_init() before it can be used. Sets the global current base that gets used for events that have no base associated with them.

Deprecated:
This function is deprecated because it replaces the "current" event_base, and is totally unsafe for multithreaded use. The replacement is event_base_new().
See also
event_base_set(), event_base_new()

◆ event_loop()

EVENT2_EXPORT_SYMBOL int event_loop ( int  )

Handle events.

This function behaves like event_base_loop(), but uses the "current" base

Deprecated:
This function is deprecated because it uses the event base from the last call to event_init, and is therefore not safe for multithreaded use. The replacement is event_base_loop().
See also
event_base_loop(), event_init()

◆ event_loopbreak()

EVENT2_EXPORT_SYMBOL int event_loopbreak ( void  )

Abort the active event_loop() immediately.

This function behaves like event_base_loopbreakt(), except that it uses the "current" base.

Deprecated:
This function is deprecated because it uses the event base from the last call to event_init, and is therefore not safe for multithreaded use. The replacement is event_base_loopbreak().
See also
event_base_loopbreak(), event_init()

◆ event_loopexit()

EVENT2_EXPORT_SYMBOL int event_loopexit ( const struct timeval *  )

Exit the event loop after the specified time.

This function behaves like event_base_loopexit(), except that it uses the "current" base.

Deprecated:
This function is deprecated because it uses the event base from the last call to event_init, and is therefore not safe for multithreaded use. The replacement is event_base_loopexit().
See also
event_init, event_base_loopexit()

◆ event_once()

EVENT2_EXPORT_SYMBOL int event_once ( evutil_socket_t  ,
short  ,
void(*)(evutil_socket_t, short, void *)  ,
void *  ,
const struct timeval *   
)

Schedule a one-time event to occur.

Deprecated:
This function is obsolete, and has been replaced by event_base_once(). Its use is deprecated because it relies on the "current" base configured by event_init().
See also
event_base_once()

◆ event_priority_init()

EVENT2_EXPORT_SYMBOL int event_priority_init ( int  )

Set the number of different event priorities.

Deprecated:
This function is deprecated because it is easily confused by multiple calls to event_init(), and because it is not safe for multithreaded use. The replacement is event_base_priority_init().
See also
event_base_priority_init()

◆ event_set()

EVENT2_EXPORT_SYMBOL void event_set ( struct event ,
evutil_socket_t  ,
short  ,
void(*)(evutil_socket_t, short, void *)  ,
void *   
)

Prepare an event structure to be added.

Deprecated:
event_set() is not recommended for new code, because it requires a subsequent call to event_base_set() to be safe under most circumstances. Use event_assign() or event_new() instead.