16 #if !defined( _WIN32 ) && !defined( _WIN32_WCE )
43 MutexImpl(
const MutexImpl& );
44 MutexImpl& operator=(
const MutexImpl& );
47 CRITICAL_SECTION m_cs;
48 #elif defined( HAVE_PTHREAD )
49 pthread_mutex_t m_mutex;
54 MutexImpl::MutexImpl()
57 InitializeCriticalSection( &m_cs );
58 #elif defined( HAVE_PTHREAD )
59 pthread_mutex_init( &m_mutex, 0 );
63 MutexImpl::~MutexImpl()
66 DeleteCriticalSection( &m_cs );
67 #elif defined( HAVE_PTHREAD )
68 pthread_mutex_destroy( &m_mutex );
72 void MutexImpl::lock()
75 EnterCriticalSection( &m_cs );
76 #elif defined( HAVE_PTHREAD )
77 pthread_mutex_lock( &m_mutex );
81 void MutexImpl::unlock()
84 LeaveCriticalSection( &m_cs );
85 #elif defined( HAVE_PTHREAD )
86 pthread_mutex_unlock( &m_mutex );
91 : m_mutex( new MutexImpl() )