30 #ifndef __ZMQ_MUTEX_HPP_INCLUDED__ 31 #define __ZMQ_MUTEX_HPP_INCLUDED__ 33 #include "platform.hpp" 38 #ifdef ZMQ_HAVE_WINDOWS 50 InitializeCriticalSection (&cs);
55 DeleteCriticalSection (&cs);
60 EnterCriticalSection (&cs);
65 return (TryEnterCriticalSection (&cs)) ?
true :
false;
70 LeaveCriticalSection (&cs);
73 inline CRITICAL_SECTION* get_cs()
101 int rc = pthread_mutexattr_init(&
attr);
104 rc = pthread_mutexattr_settype(&
attr, PTHREAD_MUTEX_RECURSIVE);
113 int rc = pthread_mutex_destroy (&
mutex);
116 rc = pthread_mutexattr_destroy (&
attr);
122 int rc = pthread_mutex_lock (&
mutex);
128 int rc = pthread_mutex_trylock (&
mutex);
138 int rc = pthread_mutex_unlock (&
mutex);
const mutex_t & operator=(const mutex_t &)
scoped_lock_t(mutex_t &mutex_)
pthread_mutex_t * get_mutex()