Releases: davmac314/dasynq
v2.1.0: Minor new functionality and bugfixes
This version includes bugfixes and a minor new feature: the ability to retrieve the si_code
and si_status
values associated with a child process termination (proc_status_t
) directly.
Fixes include some compilation issues, and a hang fix for macOS (due to POSIX non-conformance), possibly also affecting some other systems.
v2.0: Functionality improvements
This major new release introduces a small backwards incompatibility. Child watchers now receive information about child status via a wrapper type (proc_status_t). On systems which support it (eg. FreeBSD) the full integer exit value is available, rather than just the lower 8 bits.
This version also includes compilation fixes and (theoretical) bug fixes for the pselect/select backends.
v1.2.5
v1.2.4: Bug fix release
This version includes a fix for some minor issues that may manifest after memory is full (i.e. rarely).
It also includes a fix for using file (output) watchers (in emulation mode) with the /dev/null device on
FreeBSD (this returns an undocumented error code, which was not previously handled by Dasynq).
v1.2.3: Bug fix release
This version includes a fix in the epoll backend for incorrectly reporting IN_EVENTS or OUT_EVENTS on file descriptor watches for which the respective event type had been disabled, in case of an error condition of the descriptor.
v1.2.2: Bug fix release
This version includes a fix for a crash/memory leak that could happen when memory was (already) exhausted.
It also uses a new directory structure. This should not affect any existing users. However it is now possible to install Dasynq so the main header, dasynq.h, can be included without requiring any additional compiler flags (i.e. by installing it directly in /usr/include). The ancillary headers are now installed into a subdirectory relative to the main header.
v1.2.1: Bugfixes and minor improvements
This version fixes a bug which triggered when an event loop was constructed with delayed initialisation and then never initialised before being destroyed. On systems using POSIX timers (such as FreeBSD), this could cause a crash.
On Linux, eventfd is used as the mechanism to signal an event loop in another thread, rather than a pipe. This uses one less file descriptor and is more efficient generally.
Some minor packaging issues have been resolved.
v1.2.0: Bugfixes and minor new feature
This version includes important bugfixes, including cases where the wrong exception type was thrown for certain errors with some event loop backends. Additionally, it fixes compilation issues with newer compilers.
New feature: delayed event loop initialisation.
An event loop can be constructed via a noexcept constructor and initialised later via an init() function. See the documentation for details.
v1.1.7: Minor bugfixes
Plugs a memory leak (watchers were not always being de-registered when returning REMOVE), and other minor bug-fixes and documentation updates.
A chat server example has been added (see examples/ folder).
v1.1.6: Bug fix for OpenBSD
This release includes a critical bug-fix for OpenBSD. In addition, there have been some minor documentation improvements.