@davmac314 davmac314 released this Sep 14, 2018 · 1 commit to master since this release

Assets 2

This release just removes some constructs which technically provoke undefined behaviour, includes a tiny performance/memory use optimisation, and a little bit of refactoring.

@davmac314 davmac314 released this Apr 2, 2018 · 7 commits to master since this release

Assets 3

This is a minor release with some fixes/updates to documentation, and the lambda-based "add_timer" function (previously undocumented) now takes const timespec & arguments (which allows using time_val values).

  • 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).
  • fix broken timer example in introduction (USAGE.md)
  • various internal changes.

@davmac314 davmac314 released this Mar 8, 2018 · 22 commits to master since this release

Assets 2

This is primarily a bugfix release, but includes CMake support files (installed alongside the library with "make install"). Note that CMake is not required to build.

  • fix timers not working on non-Linux systems
  • Includes CMake files (makes it easier for projects using CMake to use Dasynq)
  • build fixes for platforms without kqueue or epoll
  • install fixes for BSDs

@davmac314 davmac314 released this Feb 9, 2018 · 35 commits to master since this release

Assets 2

Unfortunately the previous release had build issues, hence this immediate re-release.

@davmac314 davmac314 released this Feb 9, 2018 · 37 commits to master since this release

Assets 2

This release fixes a bug which prevented "emulated" fd watches from working properly. It also includes a workaround for a MacOS kernel bug which prevented signals from being reliably detected using the kqueue backend on that platform.

@davmac314 davmac314 released this Jan 30, 2018 · 49 commits to master since this release

Assets 2

This release includes bug fixes for multi-thread event loops using the kqueue backend, and also adds a new backend which uses pselect(2). Since pselect is mandated by POSIX this means Dasynq should work on nearly all mostly-POSIX-compliant systems.

(Note however that pselect is probably not going to be great performance wise, and suffers from an inherent inability to deal with file descriptors beyond a certain number).

@davmac314 davmac314 released this Jan 16, 2018 · 69 commits to master since this release

Assets 2

This release fixes a silly bug with subtraction of time values which gives the wrong result for times with exactly equal nanoseconds. While this probably would strike only rarely, it's a bug best squashed as early as possible, and so I'm drafting this release.

@davmac314 davmac314 released this Dec 23, 2017 · 73 commits to master since this release

Assets 2

This is a bug-fix for an issue that crept into v1.0.2, the previous bug-fix release.

@davmac314 davmac314 released this Dec 22, 2017 · 77 commits to master since this release

Assets 2

This is a bug-fix release, squashing a bug in the heap implementation which could cause watchers to fire out-of-sequence (according to priority) and timers to fire at the wrong times. The test suite is more complete and catches the bugs fixed since 1.0.

@davmac314 davmac314 released this Dec 17, 2017 · 84 commits to master since this release

Assets 2

Fix a number of issues discovered since the 1.0 release, some minor, some not-so-minor. Please upgrade.