18 #ifndef INCLUDED_THREADUTIL 19 #define INCLUDED_THREADUTIL 25 #define LOCK_MUTEX(_mutex) STMT( \ 26 printf("pthread_mutex_lock: 1 %p [pid:%d]\n", _mutex, pthread_self()); \ 27 pthread_mutex_lock(_mutex); \ 28 printf("pthread_mutex_lock: 2 %p [pid:%d]\n", _mutex, pthread_self()) \ 30 #define UNLOCK_MUTEX(_mutex) STMT( \ 31 pthread_mutex_unlock(_mutex); \ 32 printf("pthread_mutex_unlock: %p [pid:%d]\n", _mutex, pthread_self()) \ 37 #define LOCK_MUTEX(_mutex) pthread_mutex_lock(_mutex) 38 #define UNLOCK_MUTEX(_mutex) pthread_mutex_unlock(_mutex) 117 #endif // INCLUDED_THREADUTIL
void * pthread_mutex_t
Definition: wpthread.h:82
~CScopeLock()
Definition: ThreadUtil.h:90
Locks a CMutex over this object's lifetime.
Definition: ThreadUtil.h:73
A non-recursive mutual exclusion lock.
Definition: ThreadUtil.h:45
CMutex()
Definition: ThreadUtil.h:52
~CMutex()
Definition: ThreadUtil.h:58
pthread_mutex_t m_Mutex
Definition: ThreadUtil.h:65
#define ENSURE(expr)
ensure the expression <expr> evaluates to non-zero.
Definition: debug.h:287
#define LOCK_MUTEX(_mutex)
Definition: ThreadUtil.h:37
void SetMainThread()
Set the current thread as the 'main' thread.
Definition: ThreadUtil.cpp:35
Definition: ThreadUtil.h:100
#define UNLOCK_MUTEX(_mutex)
Definition: ThreadUtil.h:38
int pthread_mutex_init(pthread_mutex_t *m, const pthread_mutexattr_t *)
Definition: wpthread.cpp:323
CScopeLock(CMutex &mutex)
Definition: ThreadUtil.h:84
CScopeLock(pthread_mutex_t *mutex)
Definition: ThreadUtil.h:78
bool IsMainThread()
Returns whether the current thread is the 'main' thread (i.e.
Definition: ThreadUtil.cpp:25
int pthread_mutex_destroy(pthread_mutex_t *m)
Definition: wpthread.cpp:312
pthread_mutex_t * m_Mutex
Definition: ThreadUtil.h:96