diff options
Diffstat (limited to 'dep/src/zthread/linux')
-rw-r--r-- | dep/src/zthread/linux/AtomicFastLock.h | 26 | ||||
-rw-r--r-- | dep/src/zthread/linux/FastRecursiveLock.h | 26 |
2 files changed, 26 insertions, 26 deletions
diff --git a/dep/src/zthread/linux/AtomicFastLock.h b/dep/src/zthread/linux/AtomicFastLock.h index b9aa1babcd6..a416fef67cb 100644 --- a/dep/src/zthread/linux/AtomicFastLock.h +++ b/dep/src/zthread/linux/AtomicFastLock.h @@ -44,31 +44,31 @@ namespace ZThread { * This implementation of a FastLock uses the atomic operations that * linux provides with its kernel sources. This demonstrates how to implement * a spinlock with a decrement and test primative. - */ + */ class FastLock : private NonCopyable { - + atomic_t _value; - + #if !defined(NDEBUG) pthread_t _owner; #endif public: - + inline FastLock() { - + atomic_t tmp = ATOMIC_INIT(1); _value = tmp; } - + inline ~FastLock() { assert(atomic_read(&_value) == 1); assert(_owner == 0); } - + inline void acquire() { while(!atomic_dec_and_test(&_value)) { @@ -77,14 +77,14 @@ public: ThreadOps::yield(); } - + #if !defined(NDEBUG) _owner = pthread_self(); #endif } inline void release() { - + #if !defined(NDEBUG) assert(pthread_equal(_owner, pthread_self()) != 0); #endif @@ -93,9 +93,9 @@ public: _owner = 0; } - + inline bool tryAcquire(unsigned long timeout=0) { - + bool wasLocked = atomic_dec_and_test(&_value); if(!wasLocked) atomic_inc(&_value); @@ -106,9 +106,9 @@ public: #endif return wasLocked; - + } - + }; /* FastLock */ diff --git a/dep/src/zthread/linux/FastRecursiveLock.h b/dep/src/zthread/linux/FastRecursiveLock.h index d253652cb53..a9a74d21521 100644 --- a/dep/src/zthread/linux/FastRecursiveLock.h +++ b/dep/src/zthread/linux/FastRecursiveLock.h @@ -36,45 +36,45 @@ namespace ZThread { * @version 2.2.0 * * This implementation of a FastRecursiveLock uses the recursive mutex - * that linux pthreads provides. - */ + * that linux pthreads provides. + */ class FastRecursiveLock : private NonCopyable { - + pthread_mutex_t _mtx; - + public: - + inline FastRecursiveLock() { - + static const pthread_mutexattr_t attr = { PTHREAD_MUTEX_RECURSIVE_NP }; pthread_mutex_init(&_mtx, &attr); } - + inline ~FastRecursiveLock() { pthread_mutex_destroy(&_mtx); } - + inline void acquire() { - + pthread_mutex_lock(&_mtx); } inline void release() { - + pthread_mutex_unlock(&_mtx); - + } - + inline bool tryAcquire(unsigned long timeout=0) { return (pthread_mutex_trylock(&_mtx) == 0); } - + }; /* FastRecursiveLock */ |