-
Notifications
You must be signed in to change notification settings - Fork 234
version 0.1.6 #115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
version 0.1.6 #115
Conversation
* Add CLion ignores * Use Modern CMake * Restructure the project files * Move test files around * Remove Unnecessary CMakeLists.txt * Restructure the examples * Move thread sanitizer tests to the test directory * Put coroutine options in a separate CMake module * Rewrite the example lists files * Add the option to build the library with thread sanitizer (This only works when the compiler is Clang based.) * Rewrite the sandbox lists file * Add coroutine options to tests as well * Make the add_test function forward properties * Stop script execution early to reduce indentation * Include coroutine options using a relative path Remembering to always pass the CMAKE_MODULE_PATH for every cmake invocation might become troublesome otherwise. Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com>
* Run clang-format * Missing <algorithm> header * Rework the test folder * Fix include paths in library and example code * Add a lists file that builds all the examples * Rework coroutineOptions.cmake * Fix ignores for CLion * Add CI support There are 4 builds in CI, on 2 providers: Github Actions: * Ubuntu Bionic, Clang 10, with TSAN * Ubuntu Bionic, Clang 10, without TSAN * Windows, VS2019 Travis CI: * macOS, Xcode 10.3 * Allow failures in the Travis CI * Add missing newlines at EOF Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com>
* fix include path in the sandbox and tests
* Simplify CI process (Remove Travis.ci, move macOS steps to github actions) Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com>
* Modify the imported target directly * Use a single variable for TSAN Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com>
* clang-format fine tuning
* better readme, fix include path in examples
* Make TSAN compile correctly by adding missing cmake properties * remove buggish assert from thread-pool test * compile everything in release mode with debug info
* result_core refactor * renamed to result_state * broken to consumer_context and producer_context * await_via behaviuor fine tune - resolve_via throws executor_exception if the coroutine is supended and enqueueing its resumption throws * await/await_via/resolve/resolve_via tests were re-written
* task object replaces raw usage of std::coroutine_handle * calls to executor::post try to inline the memory by using the task inline buffer (the callable doesn't run as a coroutine anymore) * await(_via)/relove(_via) throw concurrencpp::broken_task if the executor destroyed the associated task, for example, by throwing * await small refactor
* complete executors-refactor * timer::cancel also cancels scheduled-not-executed tasks, ongoing tasks are uneffected * test utils refactor * complete tests-re-write
* support shared_result objects
* result_state and result_coro_promise were merged together (finally!) * thread sanitizer tests were rewritten * small improvements and bug fixes
Co-authored-by: NN <NN---@users.noreply.github.com>
* timer queue idling mechanism * unified shutdown exception * test folder cleaning up * clang format changes * optimizations
This fixes building with libstdc++.
* Add Clang 15 to CI * Catch exceptions by const-ref Co-authored-by: chausner <chausner@users.noreply.github.com>
thanks @ohanar for the discovery
* Make libc++ optional Co-authored-by: chausner <chausner@users.noreply.github.com>
* export symbols
* add a lot more build configurations to the ci Co-authored-by: David-Haim <dhayim1@gmail.com>
* load build matrix from json file
* async_condition_variable implementation
* replace details::wait_context with std::binary_semaphore
@ohanar |
Hmm, it looks like libclang-rt is not being installed. Adding |
It looks like it is as I suspected, they changed the packaging like libunwind. In this case between versions 13 and 14. Instead of universally adding the package, you could add it conditionally like libunwind with
|
* install clang-tsan manually
async_condition_variable
implementationinterrupted_task
as a base class forruntime_shutdown
andbroken_task