MCPcopy Create free account
hub / github.com/catboost/catboost / MyAtomicTryLock

Function MyAtomicTryLock

util/generic/singleton.cpp:10–13  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8
9namespace {
10 static inline bool MyAtomicTryLock(std::atomic<size_t>& a, size_t v) noexcept {
11 size_t zero = 0;
12 return a.compare_exchange_strong(zero, v);
13 }
14
15 static inline bool MyAtomicTryAndTryLock(std::atomic<size_t>& a, size_t v) noexcept {
16 return a.load(std::memory_order_acquire) == 0 && MyAtomicTryLock(a, v);

Callers 2

MyAtomicTryAndTryLockFunction · 0.85
LockRecursiveMethod · 0.85

Calls 1

Tested by

no test coverage detected