ed0319cfed
common/fiber: make fibers easier to use
2022-07-02 12:33:49 -04:00
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
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.
2022-04-23 05:55:32 -04:00
8f7eb194af
common: Fiber: use a reference for YieldTo.
...
- Fixes another small leak.
2021-03-07 13:46:53 -08:00
68ffac250a
common: fiber: Use weak_ptr when yielding.
...
- Avoids a memory leak, as taking a strong reference of the fiber here causes a circular reference.
- Supersedes #6006 with a more narrow fix.
2021-03-05 22:10:03 -08:00
a5ab85ac37
Revert "core: Switch to unique_ptr for usage of Common::Fiber."
2021-03-05 17:08:17 -08:00
51fb0a6f96
core: Switch to unique_ptr for usage of Common::Fiber.
...
- 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-02-27 11:56:04 -08:00
c042a89113
common: fiber: Use boost::context instead of native fibers on Windows.
2020-11-29 01:31:51 -08:00
00fb79b2f3
common/fiber: Move all member variables into impl class
...
Hides all of the implementation details for users of the class. This has
the benefit of reducing includes and also making the fiber classes
movable again.
2020-11-06 20:36:32 -05:00
6f006d051e
General: Fix clang build
...
Allows building on clang to work again
2020-11-05 10:07:16 -05:00
4a4b685a04
common: Enable warnings as errors
...
Cleans up common so that we can enable warnings as errors.
2020-11-02 15:50:58 -05:00
cdb2480d39
common/fiber: Take shared_ptr<Fiber> by copy in YieldTo
...
YieldTo does not intend to modify the passed shared_ptrs.
Pass it by copy to keep a reference count while this function executes.
2020-10-28 02:02:44 -03:00
3d592972dc
Revert "core: Fix clang build"
2020-10-20 19:07:39 -07:00
be1954e04c
core: Fix clang build
...
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
2020-10-17 19:50:39 -04:00
df72480395
common: Make use of [[nodiscard]] where applicable
...
Now that clang-format makes [[nodiscard]] attributes format sensibly, we
can apply them to several functions within the common library to allow
the compiler to complain about any misuses of the functions.
2020-08-15 17:17:52 -04:00
e77ee67bfa
Common/Fiber: Address Feedback and Correct Memory leaks.
2020-06-18 16:29:27 -04:00
b6655aa2e4
Common/Fiber: Implement Rewind on Boost Context.
2020-06-18 16:29:27 -04:00
18f54f7486
Common/Fiber: Document fiber interexchange.
2020-06-18 16:29:26 -04:00
137d862d9b
Common/Fiber: Implement Rewinding.
2020-06-18 16:29:25 -04:00
1f7dd36499
Common/Tests: Address Feedback
2020-06-18 16:29:21 -04:00
3398f701ee
Common: Make MinGW build use Windows Fibers instead of fcontext_t
2020-06-18 16:29:20 -04:00
1bd706344e
Common/Tests: Clang Format.
2020-06-18 16:29:19 -04:00
be320a9e10
Common: Polish Fiber class, add comments, asserts and more tests.
2020-06-18 16:29:15 -04:00
8d0e3c5422
Tests: Add tests for fibers and refactor/fix Fiber class
2020-06-18 16:29:15 -04:00
bc266a9d98
Common: Implement a basic Fiber class.
2020-06-18 16:29:14 -04:00