Projects / libev

libev

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

Tags Software Development Libraries Application Frameworks Perl Modules Networking
Licenses BSD Revised
Operating Systems POSIX
Implementation C C++ Perl

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  28 Apr 2009 05:03
  • Rrelease-after

    Changes: Destroying the default loop now works reliably and a problem causing busy-waiting when embedding an empty event loop into another has been fixed. Multiple timers becoming ready at the same time will now be invoked in the order of their timeouts (as opposed to the opposite order). The event loop can now be suspended, which is useful for interactive programs.

    • Rrelease-mid
    •  15 Feb 2009 07:23
    • Rrelease-after

    Changes: This release probes for CLOCK_REALTIME support at runtime instead of only at compile time, so libev compiled on a newer system has a greater chance of running on an older system. Also, an uninitialized variable has been fixed that could cause failure during event loop creation on Windows systems.

    • Rrelease-mid
    •  07 Jan 2009 21:30
    • Rrelease-after

    Changes: This release mainly disables the use of kqueue and poll on OS X again. Their use was erroneously enabled in 3.51, but these functions are notoriously broken on OS X. The select backend in fd_set mode has seen some bugfixes, and will actually compile now on platforms that need the fd_set mode (such as QNX). Apart from these changes, a number of minor bugfixes and improvements have been implemented.

    • Rrelease-mid
    •  25 Dec 2008 03:08
    • Rrelease-after

    Changes: This release fixes a major bug in inotify support that could cause libev to freeze on hash collisions. A number of minor bugs in inotify support have been fixed as well. On Mac OS X, libev now falls back to select, as 10.5 has broken poll too. embed watchers now automatically stop and restart themselves if the embedding loop is forked, and as usual, the documentation has been tweaked and improved.

    • Rrelease-mid
    •  19 Nov 2008 13:19
    • Rrelease-after

    Changes: There have been no bugfixes in this release. The only major change is that inotify is now used even on older kernels that are known to be buggy, but only as a hint. Also, libev now has a small list of "known to be good" filesystems where inotify is known to work, and will use inotify as a hint only on other filesystems (such as NFS). The documentation has been updated regarding the dangers of using stat watchers on networked file systems.

    Fa2b10dc5268bb8245e1402b0e3c5c8b_thumb

    Project Spotlight

    MIB Smithy

    A visual SNMP MIB/COPS PIB development environment.

    No-screenshot

    Project Spotlight

    php ban and trap

    A Web site ban system.