diff options
author | Marc Laukien <marc@zeroc.com> | 2003-04-09 16:37:37 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2003-04-09 16:37:37 +0000 |
commit | a8bd4340198433bc239495b91aa7f6080e0f5b46 (patch) | |
tree | 8a4c7c5369561caa4913bad15024804c3a97c4a6 /cpp/src/IceUtil/RecMutex.cpp | |
parent | Glacier request queue (diff) | |
download | ice-a8bd4340198433bc239495b91aa7f6080e0f5b46.tar.bz2 ice-a8bd4340198433bc239495b91aa7f6080e0f5b46.tar.xz ice-a8bd4340198433bc239495b91aa7f6080e0f5b46.zip |
fixes for RH9
Diffstat (limited to 'cpp/src/IceUtil/RecMutex.cpp')
-rw-r--r-- | cpp/src/IceUtil/RecMutex.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cpp/src/IceUtil/RecMutex.cpp b/cpp/src/IceUtil/RecMutex.cpp index d20486c3a34..a6e75363afe 100644 --- a/cpp/src/IceUtil/RecMutex.cpp +++ b/cpp/src/IceUtil/RecMutex.cpp @@ -91,7 +91,9 @@ IceUtil::RecMutex::RecMutex() : int rc; #if _POSIX_VERSION >= 199506L + pthread_mutexattr_t attr; + rc = pthread_mutexattr_init(&attr); if(rc != 0) { @@ -103,10 +105,15 @@ IceUtil::RecMutex::RecMutex() : { throw ThreadSyscallException(__FILE__, __LINE__); } + #elif defined(__linux__) + const pthread_mutexattr_t attr = { PTHREAD_MUTEX_RECURSIVE_NP }; + #else + const pthread_mutexattr_t attr = { PTHREAD_MUTEX_RECURSIVE }; + #endif rc = pthread_mutex_init(&_mutex, &attr); @@ -114,6 +121,16 @@ IceUtil::RecMutex::RecMutex() : { throw ThreadSyscallException(__FILE__, __LINE__); } + +#if _POSIX_VERSION >= 199506L + + rc = pthread_mutexattr_destroy(&attr); + if(rc != 0) + { + throw ThreadSyscallException(__FILE__, __LINE__); + } + +#endif } IceUtil::RecMutex::~RecMutex() |