Dasynq is an event loop library similar to libevent, libev and libuv.
Key features/attributes are: written in portable C++ code (C++11); Thread safe — full support for use in a multi-threaded application; Header-only library — does not install a shared library; Supports file I/O, signals, process termination and timer events; Linux, OpenBSD, FreeBSD, MacOS — and portable to others.
Like other such libraries, it is crossplatform / portable. Unlike most other such libraries, it is intended to be completely usable in a multi-threaded client program, and it is written in C++; furthermore the API is designed to allow the creation of extremely robust clients.
Dasynq works on Linux, OpenBSD, FreeBSD and MacOS, and it should be easily portable to other POSIX-like operating systems.
1.1.515 Sep 2018 07:05
Avoid undefined char arithmetic.
Kqueue: clean up namespace pollution.
Btree set: style and remove potential undefined behaviour.
Slightly improve base_watcher implementation.
Dary-heap: delete "operator=" in handle_t.
Bump version to 1.1.5.
1.1.403 Apr 2018 03:15
Document the pre-existing "add_timer() with lambda" function.
Change "add_timer()" (with lambda) to accept const timespec arguments (previously the parameter types were non-const).
Broken timer example in introduction (USAGE.md).
Various internal changes.
1.1.309 Mar 2018 03:15
Timers not working on non-Linux systems.
Includes CMake files (makes it easier for projects using CMake to use Dasynq).
Build for platforms without kqueue or epoll.
Install for BSDs.
1.1.227 Feb 2018 16:08
Build fixes for BSDs.