Libev is a high-performance event loop featuring
support for I/O, timers (relative and absolute,
cron-like ones), signals, process status changes,
and other types of events. It has both a fast
native API and libevent emulation to support
programs written using the libevent API. The libev
distribution consists of libevent with the core
event handling parts replaced by the libev
embedded event loop. Differences to libevent
include higher speed, simpler design, more
features, less memory usage, and no arbitrary
limits. libev supports epoll, kqueue, Solaris
ports, poll, and select.
License: BSD License (revised)
Changes:
A workaround for a Linux 2.4 bug in ev_child watchers has been implemented. The libevent emulation has been improved. Three new (optional) watcher types have been introduced: ev_stat to detect attribute changes for a filesystem path, ev_fork to detect forks, and ev_embed that lets you embed one event loop in another (e.g. kqueue in poll for those systems where kqueue only works for some fd types). The documentation was vastly extended and improved, and a new minimal mode can be used to reduce code and memory footprint by as much as 30%.