Iros
 
Loading...
Searching...
No Matches
interruptible_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 {
8class Task;
9
11public:
13
14 void lock();
15 auto try_lock() -> bool;
16 void unlock();
17
18private:
19 di::sync::Atomic<bool> m_state { false };
20 Task* m_task { nullptr };
21};
22}
Definition atomic.h:15
auto try_lock() -> bool
Definition interruptible_spinlock.cpp:19
void unlock()
Definition interruptible_spinlock.cpp:38
void lock()
Definition interruptible_spinlock.cpp:8
Definition task.h:30
Definition cxx_init.cpp:12
Definition immovable.h:4