summaryrefslogtreecommitdiff
path: root/src/tests/common/fibers.cpp
AgeCommit message (Collapse)Author
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2023-01-05tests: update catch2 to 3.0.1Alexandre Bouvier
2022-07-02common/fiber: make fibers easier to useLiam
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2021-03-07common: Fiber: use a reference for YieldTo.bunnei
- Fixes another small leak.
2021-03-05Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei
2021-02-27core: Switch to unique_ptr for usage of Common::Fiber.bunnei
- With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context. - Fixes a memory leak due to circular reference of the shared pointer.
2021-01-02general: Fix various spelling errorsMorph
2020-10-28tests: Fix data race in fibers testReinUsesLisp
Previous to this commit, the tests were using operator[] from unordered_map to query elements but this silently inserts empty elements when they don't exist. If all threads were executed without concurrency, this wouldn't be an issue, but the same unordered_map could be written from two threads at the same time. This is a data race and makes some previously inserted elements invisible for a short period of time, causing them to insert and return an empty element. This default constructed element (a zero) was used to index an array of fibers that asserted when one of them was nullptr, shutting the test session off. To address this issue, lock on thread id reads and writes. This could be a shared mutex to allow concurrent reads, but the definition of std::this_thread::get_id is fuzzy when using non-standard techniques like fibers. I opted to use a standard mutex. While we are at it, fix the included headers.
2020-06-27Core/Common: Address Feedback.Fernando Sahmkow
2020-06-18Common/Fiber: Implement Rewinding.Fernando Sahmkow
2020-06-18Common/Tests: Address FeedbackFernando Sahmkow
2020-06-18Common/Tests: Clang Format.Fernando Sahmkow
2020-06-18Common: Polish Fiber class, add comments, asserts and more tests.Fernando Sahmkow
2020-06-18Tests: Add tests for fibers and refactor/fix Fiber classFernando Sahmkow