Libev is a high-performance event loop for C (with
optional and separate interfaces for C++ and
Perl), 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, embedability, and no
arbitrary limits. libev supports epoll, kqueue,
Solaris event ports, poll, and select.
License: BSD License (revised)
Changes:
A bug that caused the select backend to malfunction on 64-bit architectures has been fixed (the impact was small as poll was preferred on POSIX and the Win32 backend was not affected). Recursive ev_loop invocations will no longer clear the ONESHOT and NONBLOCK flags of an outer loop call. ev_async_pending has been added, and the ev_time and ev_sleep functions are now accessible via the (optional) Perl XS interface.