12 #ifndef ROOT_TSpinLockGuard
13 #define ROOT_TSpinLockGuard
35 class TSpinLockGuard {
38 TSpinLockGuard(std::atomic_flag& aflag) : fAFlag(aflag)
40 while (fAFlag.test_and_set(std::memory_order_acquire));
43 fAFlag.clear(std::memory_order_release);
47 std::atomic_flag& fAFlag;
53 #endif // ROOT_TSpinLockGuard