Skip to content

1.7.0

Compare
Choose a tag to compare
@sean-parent sean-parent released this 06 Sep 22:29
· 66 commits to main since this release
8137f27

This release was created to address a number of issues.

  • Building the library now requires a CMake step to generate a configuration file. Prior versions of the library were self-configuring but that was causing issues when headers were included in different compilation units compiled with different options.
  • When using default_executor a call to pre_exit() is required prior to exiting main or invoking std::exit(). It is not necessary if using std::quick_exit(). This allows the executor to shut down so canceled and detached tasks do not run concurrently with exit.
  • blocking_get() and associated functions have been renamed await()
  • A new operation invoke_waiting() was added to hint the portable default_executor when a task is waiting for some condition.
  • The await() does not attempt to steal tasks from the portable default_executor and instead will spin up additional threads (to a limit) to avoid deadlocking.

See more details in changes.md.