diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-02-10 19:45:08 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-18 22:29:21 +0200 |
commit | 1f7dd36499786d373b143a4437d4c32e077a32aa (patch) | |
tree | 26d21b113d85c6630f3ff67f7affc7c1b6f508a5 /src/common | |
parent | Common: Make MinGW build use Windows Fibers instead of fcontext_t (diff) | |
download | yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar.gz yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar.bz2 yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar.lz yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar.xz yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.tar.zst yuzu-1f7dd36499786d373b143a4437d4c32e077a32aa.zip |
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/fiber.cpp | 5 | ||||
-rw-r--r-- | src/common/fiber.h | 8 | ||||
-rw-r--r-- | src/common/spin_lock.cpp | 3 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/common/fiber.cpp b/src/common/fiber.cpp index 050c93acb..1220eddf0 100644 --- a/src/common/fiber.cpp +++ b/src/common/fiber.cpp @@ -32,13 +32,12 @@ void __stdcall Fiber::FiberStartFunc(void* fiber_parameter) { } Fiber::Fiber(std::function<void(void*)>&& entry_point_func, void* start_parameter) - : guard{}, entry_point{std::move(entry_point_func)}, start_parameter{start_parameter}, - previous_fiber{} { + : entry_point{std::move(entry_point_func)}, start_parameter{start_parameter} { impl = std::make_unique<FiberImpl>(); impl->handle = CreateFiber(0, &FiberStartFunc, this); } -Fiber::Fiber() : guard{}, entry_point{}, start_parameter{}, previous_fiber{} { +Fiber::Fiber() { impl = std::make_unique<FiberImpl>(); } diff --git a/src/common/fiber.h b/src/common/fiber.h index 598fe7daa..7e3b130a4 100644 --- a/src/common/fiber.h +++ b/src/common/fiber.h @@ -67,10 +67,10 @@ private: struct FiberImpl; - SpinLock guard; - std::function<void(void*)> entry_point; - void* start_parameter; - std::shared_ptr<Fiber> previous_fiber; + SpinLock guard{}; + std::function<void(void*)> entry_point{}; + void* start_parameter{}; + std::shared_ptr<Fiber> previous_fiber{}; std::unique_ptr<FiberImpl> impl; bool is_thread_fiber{}; }; diff --git a/src/common/spin_lock.cpp b/src/common/spin_lock.cpp index 82a1d39ff..c7b46aac6 100644 --- a/src/common/spin_lock.cpp +++ b/src/common/spin_lock.cpp @@ -35,8 +35,9 @@ void thread_pause() { namespace Common { void SpinLock::lock() { - while (lck.test_and_set(std::memory_order_acquire)) + while (lck.test_and_set(std::memory_order_acquire)) { thread_pause(); + } } void SpinLock::unlock() { |