summaryrefslogtreecommitdiff
path: root/src/common/spin_lock.h
diff options
context:
space:
mode:
authorDavid <25727384+ogniK5377@users.noreply.github.com>2020-06-28 01:34:07 +1000
committerGitHub <noreply@github.com>2020-06-28 01:34:07 +1000
commit0ea4a8bcc4bca14bb7c65b248ed1899d2e7167cf (patch)
treea83acb1e779b98d31fa54389bae4be5669573a41 /src/common/spin_lock.h
parent6205965df9682c3a52adbdcf260e7b24c02b24d4 (diff)
parent7b893c7963a57bf41f5dad7dd1709985971ce291 (diff)
Merge pull request #3396 from FernandoS27/prometheus-1
Implement SpinLocks, Fibers and a Host Timer
Diffstat (limited to 'src/common/spin_lock.h')
-rw-r--r--src/common/spin_lock.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/common/spin_lock.h b/src/common/spin_lock.h
new file mode 100644
index 000000000..70282a961
--- /dev/null
+++ b/src/common/spin_lock.h
@@ -0,0 +1,21 @@
+// Copyright 2020 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <atomic>
+
+namespace Common {
+
+class SpinLock {
+public:
+ void lock();
+ void unlock();
+ bool try_lock();
+
+private:
+ std::atomic_flag lck = ATOMIC_FLAG_INIT;
+};
+
+} // namespace Common