aboutsummaryrefslogtreecommitdiff
path: root/src/common/spin_lock.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-05 15:48:20 -0400
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-18 16:29:15 -0400
commita1e7931d20ebaf6fc1c119484ef2297723d3d962 (patch)
treef2bb28be6adc2a416b59393bb8f438636e9c79c1 /src/common/spin_lock.cpp
parent279ff1c0fff03b782d6ab66b7629aa8fe3306d4a (diff)
Common: Polish Fiber class, add comments, asserts and more tests.
Diffstat (limited to 'src/common/spin_lock.cpp')
-rw-r--r--src/common/spin_lock.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/common/spin_lock.cpp b/src/common/spin_lock.cpp
index 8077b78d28..82a1d39fff 100644
--- a/src/common/spin_lock.cpp
+++ b/src/common/spin_lock.cpp
@@ -43,4 +43,11 @@ void SpinLock::unlock() {
lck.clear(std::memory_order_release);
}
+bool SpinLock::try_lock() {
+ if (lck.test_and_set(std::memory_order_acquire)) {
+ return false;
+ }
+ return true;
+}
+
} // namespace Common