mirror of https://gitlab.com/cppit/jucipp
Compare commits
6 Commits
a818356d5a
...
d9306e489e
| Author | SHA1 | Date |
|---|---|---|
|
|
d9306e489e | 2 days ago |
|
|
1f9e947a12 | 4 days ago |
|
|
729e1660b7 | 4 months ago |
|
|
423f140c3d | 4 months ago |
|
|
0bb5052d52 | 4 months ago |
|
|
ddefa96d00 | 4 months ago |
13 changed files with 104 additions and 48 deletions
@ -0,0 +1,39 @@
|
||||
#include "mutex.hpp" |
||||
|
||||
#if defined(__clang__) && (!defined(SWIG)) |
||||
#pragma GCC diagnostic ignored "-Wthread-safety" |
||||
#endif |
||||
|
||||
void Mutex::lock() { |
||||
mutex.lock(); |
||||
} |
||||
|
||||
bool Mutex::try_lock() { |
||||
return mutex.try_lock(); |
||||
} |
||||
|
||||
void Mutex::unlock() { |
||||
mutex.unlock(); |
||||
} |
||||
|
||||
const Mutex &Mutex::operator!() const { return *this; } |
||||
|
||||
LockGuard::LockGuard(Mutex &mutex_) : mutex(mutex_) { |
||||
mutex.lock(); |
||||
locked = true; |
||||
} |
||||
|
||||
void LockGuard::lock() { |
||||
mutex.lock(); |
||||
locked = true; |
||||
} |
||||
|
||||
void LockGuard::unlock() { |
||||
mutex.unlock(); |
||||
locked = false; |
||||
} |
||||
|
||||
LockGuard::~LockGuard() { |
||||
if(locked) |
||||
mutex.unlock(); |
||||
} |
||||
Loading…
Reference in new issue