libevent: event2/event_compat.h File Reference

libevent 2.1.12 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...
EVENT2_EXPORT_SYMBOL const char * | event_get_method (void)
| Get the kernel event notification mechanism used by Libevent. More...
EVENT2_EXPORT_SYMBOL struct event_base * | event_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()

EVENT2_EXPORT_SYMBOL const 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.