summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-10 19:45:08 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-18 22:29:21 +0200
commit1f7dd36499786d373b143a4437d4c32e077a32aa (patch)
tree26d21b113d85c6630f3ff67f7affc7c1b6f508a5 /src/common
parentCommon: Make MinGW build use Windows Fibers instead of fcontext_t (diff)
downloadyuzu-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.cpp5
-rw-r--r--src/common/fiber.h8
-rw-r--r--src/common/spin_lock.cpp3
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() {