libuEv 2.1.0

Simple asynchronous event loop for Linux.

Tags event library linux
License MITL
State stable

Recent Releases

2.1.015 Nov 2017 16:05 minor feature: Remove event loop error tracking used to trigger a epoll_create1() at a certain error threshold. This tracking was first introduced in v1.1.0 , triggered by spurious EPOLLERR on I/O watchers. Unconditionally stop I/O watchers that return EPOLLERR or EPOLLHUP, it is up to the watcher callback to clear the error and/or read() the last few bytes from the descriptor. HUP usally means EOF, or that the remote end of a stream or pipe, this may also be signaled by read() returning zero. Add missing --enable-examples to configure script. Update documentation, both and Properly stop and de-register signal and cron/timer watchers from the epoll socket in case of errors, problem introduced in v2.0.0. Mark watcher file descriptor as unintialized on internal error. double-of cron/timer watchers. Problem triggered when the timer expires and calls uev_exit(), which stops all watchers. When the timer callback returns another call to stop the watcher triggered the double (). unit test's error handling in watcher callbacks, for reference. use-before-set in cronrun unit test. Make sure to restart unit test's I/O watchers on UEV_ERROR. Make sure to restart example I/O watchers on UEV_ERROR. Properly check for UEV_HUP in unit tests and examples.
2.0.012 Nov 2017 03:18 minor feature: uev_run() no longer exits the main event loop if an unrecoverable error with a watcher occurs. Instead, the watcher is disabled and the callback is run one last time with events set to UEV_ERROR. Watcher callbacks must handle UEV_ERROR conditions. This pertains in particular to signal and timer watchers. Examples and API docs updated with the new failure modes.
1.6.023 Sep 2017 14:05 minor feature: Support for edge triggered and oneshot event types. Add make package build target to trigger a.deb package build. Support 64 bit time_t on 32 bit GLIBC systems. bench.c: Use signal.h, not non-standard sys/signal.h.
1.5.031 Oct 2016 15:05 minor feature: Add support for absolute timers with the uev_cron_*() API. Update build install instructions in README. uev_timer_set() so that it returns error in case the underlying Linux timerfd API fails.
1.4.227 Jun 2016 08:25 minor feature: Update ChangeLog and bump version for v1.4.2 release Signed-off-by: Joachim Nilsson lt; gt;.
1.4.126 Apr 2016 10:25 minor feature: Add some pkg-config integration tips for developers using libuEv With GNU autotools in their projects. Add missing SFD_CLOEXEC and TFD_CLOEXEC to signal and timer file Descriptors. This prevents these file descriptors from "leaking" into Sub-processes of the parent thread. The kernel will atomically these descriptors for forked-off children calling the exec*() family of syscalls. Minor coding style and simplification of build scripts.
1.4.024 Mar 2016 13:25 minor feature: Change namespace for header files: libuev/ to uev/, e.g. using pkg-config your C program must now #include . Support for EPOLLPRI events for I/O watchers, thanks to Markus Svilans. Simplified joystick example. Updated README slightly.
1.3.022 Jan 2016 06:25 minor feature: Change to GNU configure and build system. Default optimization is now -O2, not -Os, which can be a bit Unpredictable with some cross compiler toolchains. -O2 is The tried and tested path, and default in autotools. Added -Wextra to the previous -W -Wall, drop -Werror Which is supposed to be used by maintainer(s) only.
1.2.424 Nov 2015 09:05 minor feature: Do not allow VERSION to be overloaded by build system. Make sure we don't inherit LDFLAGS from environment.
1.2.318 Sep 2015 22:45 minor feature: updates, mostly cleanup and readability improvements. make test now runs the test case, on behalf of Travis-CI. Renamed to . Dropped from distribution archives, only for devs. Lots of Markdown syntax in both README and ChangeLog. Silence annoying warning from newer GNU ar in Ubuntu 15.10.
1.2.231 Aug 2015 13:25 minor feature: The ifdef STATIC in the Makefile has been removed. Now both the .a libraries are built. The user may then select what to. Install. This is a change for convenience when using libuEv from a GNU Configure Build based project. Odd data ordering on Debian Jessie in new uev_private_t . Segfault when stopping timer before calling uev_exit().
1.2.104 Jul 2015 23:05 cleanup: Private data members in uev.h have now been moved to a new file called private.h. This will hopefully make it easier to understand what a user of libuEv is allowed to play around with. Thanks to @vonj for the discussions around this!. All builds of libuEv now default to use -fPIC, this bloats the code slightly, but ensures that linking works for all use cases, withouth introducing unnecessary complexity.
1.2.010 Jun 2015 21:25 minor feature: Remove first uev_ctx_t argument in callbacks, incompatible API change! Please update all your callbacks if you upgrade.
1.1.005 Mar 2015 11:25 minor feature: Handle case when user closes a descriptor before stopping a watcher. Handle EPOLLHUP and EPOLLERR. Restart epoll(7) descriptor and all watchers when an error count reaches a MAX value -- handles stale descriptors or cases when kernel does not notice updated descriptors. Return error when stopping a watcher fails. Update with new uev_*_start() functions. Bump dev version to 1.1 due to the number of significant changes. . Remove test.c from DISTFILES in Makefile. You need the comeplete sources to build the examples now. Thanks to @karasz for the heads up on this and the musl libc issue with missing queue.h! Fix broken link to v1.0.5 in this file.
1.0.516 Feb 2015 07:05 minor feature: Add uev_*_start() functions. Add slightly odd examples/signal.c example that utilises fork() and causes segfault in child. Renamed main.c to uev.c Move examples to examples/ subdirectory Simplify automatic dependency calculation Add for wishlist items Add , attempt to align with Further updates to
1.0.425 Jan 2015 03:15 minor feature: test.c has been simplified/clarified README has seen further updates Makefile had a minor change in how build progress is echoed.
1.0.307 Jan 2015 01:24 minor feature: This is a very minor release of a stable library, the focus of the release is on on documentation. *, massively updated * API documentation, updated * New joystick.c example added * Travis CI integration added, * Coverity Scan integration, * Clang scan-build support added