aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/deprecated/galloc/hack.cpp
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2023-12-02 01:45:21 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2023-12-02 02:42:50 +0300
commit9c43d58f75cf086b744cf4fe2ae180e8f37e4a0c (patch)
tree9f88a486917d371d099cd712efd91b4c122d209d /contrib/deprecated/galloc/hack.cpp
parent32fb6dda1feb24f9ab69ece5df0cb9ec238ca5e6 (diff)
downloadydb-9c43d58f75cf086b744cf4fe2ae180e8f37e4a0c.tar.gz
Intermediate changes
Diffstat (limited to 'contrib/deprecated/galloc/hack.cpp')
-rw-r--r--contrib/deprecated/galloc/hack.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/contrib/deprecated/galloc/hack.cpp b/contrib/deprecated/galloc/hack.cpp
new file mode 100644
index 0000000000..3ba36dacea
--- /dev/null
+++ b/contrib/deprecated/galloc/hack.cpp
@@ -0,0 +1,20 @@
+#include "hack.h"
+
+#include <library/cpp/deprecated/atomic/atomic.h>
+#include <util/system/spin_wait.h>
+
+#include "spinlock.h"
+
+void SPIN_L(spinlock_t* l) {
+ if (!AtomicTryLock(l)) {
+ TSpinWait sw;
+
+ while (!AtomicTryAndTryLock(l)) {
+ sw.Sleep();
+ }
+ }
+}
+
+void SPIN_U(spinlock_t* l) {
+ AtomicUnlock(l);
+}