Iros
 
Loading...
Searching...
No Matches
spinlock.h
Go to the documentation of this file.
1#pragma once
2
3#include "di/sync/atomic.h"
4#include "di/util/immovable.h"
6
7namespace iris {
9public:
10 Spinlock() = default;
11
12 void lock();
13 auto try_lock() -> bool;
14 void unlock();
15
16private:
17 di::sync::Atomic<bool> m_state { false };
18 bool m_interrupts_were_disabled { false };
19};
20}
Definition atomic.h:15
void lock()
Definition spinlock.cpp:6
void unlock()
Definition spinlock.cpp:30
Spinlock()=default
auto try_lock() -> bool
Definition spinlock.cpp:17
Definition cxx_init.cpp:12
Definition immovable.h:4