Links

Share project

ivykis is a library for asynchronous I/O readiness notification. It is a thin, portable wrapper around OS-provided mechanisms such as /dev/poll, epoll_create(2), kqueue(2), poll(2), and port_create(3C). ivykis was mainly designed for building high-performance network servers, but can be used as building block for any kind of event-driven application that uses poll(2)able file descriptors as its inputs.

Recent Releases

0.42.304 May 2018 07:39minor bugfix:
This release fixes a bug on Solaris where we would inadvertently use the non-threadsafe version of 'errno', and fixes a build/install bug on case-insensitive filesystems.

0.42.218 Oct 2017 00:19minor bugfix:
This release fixes a crash seen with syslog-ng when unregistering the only remaining active event from within another event's handler function.

0.4229 Apr 2017 11:50minor bugfix:
This release fixes a timer handling bug in the epoll/port poll methods that was showing up with syslog-ng.

0.4111 Dec 2016 20:01minor feature:
This release fixes an aarch64/ppc64 linker issue that was causing ivykis to segfault on those platforms, makes libpthread.so an optional dependency, and adds support for catching thread-specific signals to iv_signal.

0.4030 Oct 2016 15:25major feature:
This release fixes a pthread_sigmask() pointer aliasing issue, contains some build fixes for QNX 6.5.0 and Solaris 11, and significantly speeds up polling for events by using timerfd_create(3) / EVFILT_TIMER / timer_create(3C) to avoid creating and destroying a kernel timer for every fd readiness polling system call.