Lightweight event loop library for Linux epoll() family APIs
MIT License
Bot releases are hidden (Show)
Published by troglobit over 3 years ago
Published by troglobit over 4 years ago
Published by troglobit over 5 years ago
uev_event_*()
see API.md for detailsPublished by troglobit about 6 years ago
NOTE: You now have to explicitly include sys/queue.h
, or provide a local version of queue.h
, if your application depends on it.
queue.h
doubly-linked lst API with own implementation. Making libuEv stand-alone, no longer imposing any particular version of queue.h
on the user-std=gnu11
to unlock typeof()
in older GCC versionsMakefile.am
, library did not rebuild properly if any of the local header files were changedPublished by troglobit about 6 years ago
/dev/input/js0
uev_exit()
, use _SAFE
macros to traverse list of watchers instead of while()
uev_exit()
terminates properlyuev_signal_stop()
idempotentuev_timer_stop()
call close()
on the timerfd directly, do not call uev_timer_set()
since that may cause lockups or hangsPublished by troglobit over 6 years ago
AM_PROG_AR
macro exists before calling it, fixes problem building libuEv on systems with older autoconf + automake. Patch by Markus SvilansPublished by troglobit over 6 years ago
Published by troglobit almost 7 years ago
epoll_create1()
at a certain error threshold. This tracking was first introduced in [v1.1.0][], triggered by spurious EPOLLERR
on I/O watchersEPOLLERR
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 closed, this may also be signaled by read()
returning zero--enable-examples
to configure
scriptuev_exit()
, which stops all watchers. When the timer callback returns another call to stop the watcher triggered the double close()
UEV_ERROR
UEV_ERROR
UEV_HUP
in unit tests and examplesPublished by troglobit almost 7 years ago
Beware, this is a major release, introducing incompatible changes to the failure modes of uev_run()
and watcher callbacks. Most users will most likely not notice any difference, but please read on.
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
.UEV_ERROR
conditions. This pertains in particular to signal and timer watchers.Published by troglobit about 7 years ago
make package
build target to trigger a .deb
package buildtime_t
on 32 bit GLIBC systemsbench.c
: Use signal.h
, not non-standard sys/signal.h
Published by troglobit almost 8 years ago
Published by troglobit almost 8 years ago
Published by troglobit almost 8 years ago
uev_cron_*()
API.uev_timer_set()
so that it returns error in case the underlyingPublished by troglobit over 8 years ago
Add range checks for period
and timeout
to uev_timer_init()
and uev_timer_set()
.
If either on is < 0
libuEv now return ERANGE
.
Published by troglobit over 8 years ago
pkg-config
integration tips for developers using libuEvSFD_CLOEXEC
and TFD_CLOEXEC
to signal and timer filePublished by troglobit over 8 years ago
This release changes the header file namespace, which was silently introduced in v1.2.1.
Apologies for any problems this may cause!
libuev/
to uev/
, e.g. usingpkg-config
your C program must now #include <uev/uev.h>
EPOLLPRI
events for I/O watchers, thanks to Markus SvilansREADME
slightlyPublished by troglobit over 8 years ago
Published by troglobit almost 9 years ago
-O2
, not -Os
, which can be a bit-O2
is-Wextra
to the previous -W -Wall
, drop -Werror
Published by troglobit almost 9 years ago
VERSION
to be overloaded by build system.LDFLAGS
from environment.Published by troglobit about 9 years ago
Very minor release.
make test
now runs the test case, on behalf of Travis-CI