-
01.05.025ffe5e12 · ·
New PATCH release 01.05.02 Changes since 01.05.01: - changes to build environment
-
-
01.05.00429d3d8a · ·
New MINOR release 01.05.00 Changes since 01.04.02: - fix: compiler warnings in g++ (#33) g++ 11.3.0 (default compiler on Ubuntu 22.04) and higher are complaining about variable shadowing in lambdas. - fix: race condition (#32) When creating the notification queue in when_any() while the sending thread is already active, the when_any_index was written and read concurrently, but neither atomic nor protected by a mutex or memory barrier. - use lib install dir defined by GNUInstallDirs this should fix library search problems on Tumbleweed - modernize cmake (#28) provide exported target remove explicit compatibility layer do not declare GccAtomic required if it isn't - fix asan tests (#26) Use set_default_flags.cmake in CMakeLists.txt This also brings the build types tsan and asan. Fixed direct memory leak reported in testAsyncRead by renovating shared_state_ptr::free() and creating shared_state_base::free() in future_queue.hpp. Functions affected by this include future_queue_base::setNotificationQueue(), and when_any().
-
01.04.0272667aa2 · ·
New PATCH release 01.04.02 Changes since 01.04.01: - Initialize std::atomic<when_any_notification_info> (fixes #16). (#17) Before C++ 20, the default constructor of std::atomic does not initialize the underlying object. This can lead to situations where load() returns an uninitialized object, thus resulting in undefined behavior. - Only link with libatomic if it is found (fixes #15). libatomic does not exist on all systems. For example, modern versions of macOS use Clang / LLVM, where atomics are provided by compiler-rt (the default runtime) and thus no extra library needs to be linked.
-
01.04.01e3884943 · ·
New PATCH release 01.04.01 Changes since 01.04.00: - future_queue: remove const variant of front() (#8)
-
01.04.00df6bd9a0 · ·
New MINOR release 01.04.00 Changes since 01.03.03: - Allow peeking for exceptions in void future_queues (#7) This is needed for the DeviceAccess ReadAnyGroup, to simplify the implementation.
-
01.03.037ef1011f · ·
New PATCH release 01.03.03 Changes since 01.03.02: - avoid some linter warnings
-
01.03.021902f2dc · ·
New PATCH release 01.03.02 Changes since 01.03.01: Updates to build environment (added support for pkgconfig)
-
01.03.01a08111e5 · ·
New PATCH release 01.03.01 Changes since 01.03.00: - fix two data races in when_any() with concurrent push() - add missing atomic library which is now required for all users of this library
-
01.03.009ce070eb · ·
New MINOR release 01.03.00 Changes since 01.02.01: - add "finally" from GSL - fix not handling exceptions in continuations properly - add some reference documentation for then()
-
01.02.0184c6d486 · ·
New PATCH release 01.02.01 Changes since 01.02.00: Minor changes to the build environment which also affects how Debian packages are built
-
01.02.00bded08de · ·
New MINOR release 01.02.00 Changes since 01.01.00: - add comparison operators for future queues - some improvements to the build environment
-
01.01.006fd9fe10 · ·
New MINOR release 01.01.00 Changes since 01.00.00: This is mostly a bug fix release. - fixed copying / assigning default-constructed future_queues - implement proper shutdown procedure for internal threads of async continuations and when_all() - fixed running wait_any() on continued queues which already contain data - add push_overwrite_exception() function - make sure the exception is set to nullptr if writing a normal value - make push_overwrite() work in multi-producer environments - fixed when_any() in combination with continuations - disable some versions of push/pop for non-copyable types, to prevent compiler failures - added front() function which is non-const and returns a non-const reference to the front element - allow continuations to swap buffers with the queue - fixed continuations with void data types - fixed a memory leak - added missing inline keywords to the non-template header-only implementations - fixed install location of header files - fixed/completed tests - improved documentation
-