moved the member _thread_id from class RsMutex inside the define RSTHREAD_SELF_LOCKING_GUARD

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3128 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-06-13 17:47:00 +00:00
parent 6f8e75c14f
commit a5b7950065

View File

@ -46,7 +46,9 @@ class RsMutex
{ {
pthread_mutex_init(&realMutex, NULL); pthread_mutex_init(&realMutex, NULL);
#ifdef RSTHREAD_SELF_LOCKING_GUARD #ifdef RSTHREAD_SELF_LOCKING_GUARD
_thread_id = 0 ; //_thread_id = {NULL, 0} ; // need c++
_thread_id.p = NULL;
_thread_id.x = 0;
#endif #endif
} }
~RsMutex() ~RsMutex()
@ -62,8 +64,8 @@ class RsMutex
#endif #endif
pthread_mutex_lock(&realMutex); pthread_mutex_lock(&realMutex);
_thread_id = pthread_self() ;
#ifdef RSTHREAD_SELF_LOCKING_GUARD #ifdef RSTHREAD_SELF_LOCKING_GUARD
_thread_id = pthread_self() ;
++_cnt ; ++_cnt ;
#endif #endif
} }
@ -72,11 +74,11 @@ class RsMutex
#ifdef RSTHREAD_SELF_LOCKING_GUARD #ifdef RSTHREAD_SELF_LOCKING_GUARD
if(--_cnt == 0) if(--_cnt == 0)
{ {
//_thread_id = {NULL, 0} ; // need c++
_thread_id.p = NULL;
_thread_id.x = 0;
#endif #endif
#ifndef WIN32 pthread_mutex_unlock(&realMutex);
_thread_id = 0 ;
#endif
pthread_mutex_unlock(&realMutex);
#ifdef RSTHREAD_SELF_LOCKING_GUARD #ifdef RSTHREAD_SELF_LOCKING_GUARD
} }
#endif #endif
@ -85,8 +87,8 @@ class RsMutex
private: private:
pthread_mutex_t realMutex; pthread_mutex_t realMutex;
pthread_t _thread_id ;
#ifdef RSTHREAD_SELF_LOCKING_GUARD #ifdef RSTHREAD_SELF_LOCKING_GUARD
pthread_t _thread_id ;
uint32_t _cnt ; uint32_t _cnt ;
#endif #endif
}; };