FreeStick  0.3
Cross Platform Open Sorce Joystick Lib
FSSpinlock.h
Go to the documentation of this file.
1 #ifndef FSSPINLOCK_H
2 #define FSSPINLOCK_H
3 
4 #include <atomic>
5 namespace freestick
6 {
7  class FSSpinLock
8  {
9  public:
10  explicit FSSpinLock()
11  {
12  //sets the atomic_flag to false before use
13  //This is a work around for VS 2013 not supporting
14  //std::atomic_flag locked = ATOMIC_FLAG_INIT
15  //Once VS 2013 is droped this code should be changed back
16  locked.clear();
17  }
18  void lock();
19  bool try_lock();
20  void unlock();
21  private:
22  std::atomic_flag locked ;
23  };
24 }
25 #endif // FSSPINLOCK_H
bool try_lock()
Definition: FSSpinlock.cpp:7
Definition: FSBaseDevice.h:32
void unlock()
Definition: FSSpinlock.cpp:12
void lock()
Definition: FSSpinlock.cpp:3
Definition: FSSpinlock.h:7
FSSpinLock()
Definition: FSSpinlock.h:10