diff options
| author | 2020-10-28 04:54:19 -0400 | |
|---|---|---|
| committer | 2020-10-28 04:54:19 -0400 | |
| commit | a1f176ce524259894f01800f23e5fdbfa5a49b56 (patch) | |
| tree | 09ee748e1cd0c094ab96da15924e61f953f6312d /src | |
| parent | Merge pull request #4849 from ReinUsesLisp/fix-fiber-test (diff) | |
| parent | common/fiber: Take shared_ptr<Fiber> by copy in YieldTo (diff) | |
| download | yuzu-a1f176ce524259894f01800f23e5fdbfa5a49b56.tar.gz yuzu-a1f176ce524259894f01800f23e5fdbfa5a49b56.tar.xz yuzu-a1f176ce524259894f01800f23e5fdbfa5a49b56.zip | |
Merge pull request #4850 from ReinUsesLisp/fiber-ptr-ref
common/fiber: Take shared_ptr<Fiber> by copy in YieldTo
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/fiber.cpp | 4 | ||||
| -rw-r--r-- | src/common/fiber.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/common/fiber.cpp b/src/common/fiber.cpp index 1c1d09ccb..e186ed880 100644 --- a/src/common/fiber.cpp +++ b/src/common/fiber.cpp | |||
| @@ -91,7 +91,7 @@ void Fiber::Rewind() { | |||
| 91 | SwitchToFiber(impl->rewind_handle); | 91 | SwitchToFiber(impl->rewind_handle); |
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | void Fiber::YieldTo(std::shared_ptr<Fiber>& from, std::shared_ptr<Fiber>& to) { | 94 | void Fiber::YieldTo(std::shared_ptr<Fiber> from, std::shared_ptr<Fiber> to) { |
| 95 | ASSERT_MSG(from != nullptr, "Yielding fiber is null!"); | 95 | ASSERT_MSG(from != nullptr, "Yielding fiber is null!"); |
| 96 | ASSERT_MSG(to != nullptr, "Next fiber is null!"); | 96 | ASSERT_MSG(to != nullptr, "Next fiber is null!"); |
| 97 | to->guard.lock(); | 97 | to->guard.lock(); |
| @@ -199,7 +199,7 @@ void Fiber::Rewind() { | |||
| 199 | boost::context::detail::jump_fcontext(impl->rewind_context, this); | 199 | boost::context::detail::jump_fcontext(impl->rewind_context, this); |
| 200 | } | 200 | } |
| 201 | 201 | ||
| 202 | void Fiber::YieldTo(std::shared_ptr<Fiber>& from, std::shared_ptr<Fiber>& to) { | 202 | void Fiber::YieldTo(std::shared_ptr<Fiber> from, std::shared_ptr<Fiber> to) { |
| 203 | ASSERT_MSG(from != nullptr, "Yielding fiber is null!"); | 203 | ASSERT_MSG(from != nullptr, "Yielding fiber is null!"); |
| 204 | ASSERT_MSG(to != nullptr, "Next fiber is null!"); | 204 | ASSERT_MSG(to != nullptr, "Next fiber is null!"); |
| 205 | to->guard.lock(); | 205 | to->guard.lock(); |
diff --git a/src/common/fiber.h b/src/common/fiber.h index 89dde5e36..cefd61df9 100644 --- a/src/common/fiber.h +++ b/src/common/fiber.h | |||
| @@ -46,7 +46,7 @@ public: | |||
| 46 | 46 | ||
| 47 | /// Yields control from Fiber 'from' to Fiber 'to' | 47 | /// Yields control from Fiber 'from' to Fiber 'to' |
| 48 | /// Fiber 'from' must be the currently running fiber. | 48 | /// Fiber 'from' must be the currently running fiber. |
| 49 | static void YieldTo(std::shared_ptr<Fiber>& from, std::shared_ptr<Fiber>& to); | 49 | static void YieldTo(std::shared_ptr<Fiber> from, std::shared_ptr<Fiber> to); |
| 50 | [[nodiscard]] static std::shared_ptr<Fiber> ThreadToFiber(); | 50 | [[nodiscard]] static std::shared_ptr<Fiber> ThreadToFiber(); |
| 51 | 51 | ||
| 52 | void SetRewindPoint(std::function<void(void*)>&& rewind_func, void* start_parameter); | 52 | void SetRewindPoint(std::function<void(void*)>&& rewind_func, void* start_parameter); |