1 #include "../../include/pthreadwrapper/mutex.h"
\r
5 #include <sys/errno.h>
\r
17 pthread_mutexattr_init(&m_attr);
\r
18 pthread_mutexattr_settype(&m_attr,PTHREAD_MUTEX_ERRORCHECK);
\r
19 pthread_mutex_init(&m_mutex,&m_attr);
\r
24 pthread_mutex_destroy(&m_mutex);
\r
25 pthread_mutexattr_destroy(&m_attr);
\r
28 void Mutex::Acquire() throw(std::exception)
\r
31 if((rval=pthread_mutex_lock(&m_mutex))!=0)
\r
33 // deadlock - throw exception
\r
36 throw DeadlockException();
\r
41 void Mutex::Release()
\r
43 pthread_mutex_unlock(&m_mutex);
\r