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.624 May 2019 03:15
Docs: add caveat about stupid Itanium C++ ABI.
Docs: typo ("serial lies").
Remove unnecessary "return" statement.
Add missing include (though it was included transitively).
timer affecting interval timer.
Up version number to 1.1.6.
Minor documentation updates and style improvements.
Add NEWS file.
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.