24 #if defined(LINUX) || defined(MBSD)
25 #define HAVE_PLATFORM_LOCK
28 #define HAVE_PLATFORM_LOCK
31 #ifdef HAVE_PLATFORM_LOCK
43 explicit UT_Lock(
bool initially_locked =
false);
50 #if defined(WIN32) || defined(DEBUG_LOCK_CALLERS)
52 #elif defined(LINUX) || defined(MBSD)
55 UT_VERIFY(pthread_mutex_lock(&myLock) == 0);
64 bool safeLock() { lock();
return true; }
70 #if defined(LINUX) || defined(MBSD)
77 #if (UT_ASSERT_LEVEL > UT_ASSERT_LEVEL_NONE)
78 int result = pthread_mutex_unlock(&myLock);
81 (
void) pthread_mutex_unlock(&myLock);
89 int getCollisions() {
return 0; }
91 int64 getMemoryUsage(
bool inclusive)
const;
97 #if defined(LINUX) || defined(MBSD)
98 pthread_mutex_t myLock;
99 pthread_mutexattr_t myLockAttributes;
108 void sleep(
void *cond_var);
113 #if defined(DEBUG_LOCK_CALLERS)
119 #else // HAVE_PLATFORM_LOCK
UT_DebugLockType< UT_Lock > UT_DebugLock
Condition synchronization primitive.
UT_AutoLockType< UT_Lock > UT_AutoLock
UT_ObjLockType< UT_Lock > UT_ObjLock
UT_RecursiveSpinLock UT_Lock
UT_AutoObjLockType< UT_Lock > UT_AutoObjLock