summaryrefslogtreecommitdiff
path: root/cpp/include/IceUtil/StaticMutex.h
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-04-19 00:30:06 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-04-19 00:30:06 +0000
commit5fe818e133abbf3feee85ba8dd726c71861f2cdc (patch)
tree86ee705e94bac8a2e7ab9d7de1511b6e818b1244 /cpp/include/IceUtil/StaticMutex.h
parentfixing copyright (diff)
downloadice-5fe818e133abbf3feee85ba8dd726c71861f2cdc.tar.bz2
ice-5fe818e133abbf3feee85ba8dd726c71861f2cdc.tar.xz
ice-5fe818e133abbf3feee85ba8dd726c71861f2cdc.zip
Fix for FC5
Diffstat (limited to 'cpp/include/IceUtil/StaticMutex.h')
-rw-r--r--cpp/include/IceUtil/StaticMutex.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/include/IceUtil/StaticMutex.h b/cpp/include/IceUtil/StaticMutex.h
index 64332a0bd53..f499f6f1674 100644
--- a/cpp/include/IceUtil/StaticMutex.h
+++ b/cpp/include/IceUtil/StaticMutex.h
@@ -295,7 +295,14 @@ StaticMutex::tryLock() const
int rc = pthread_mutex_trylock(&_mutex);
if(rc != 0 && rc != EBUSY)
{
- throw ThreadSyscallException(__FILE__, __LINE__, rc);
+ if(rc == EDEADLOCK)
+ {
+ throw ThreadLockedException(__FILE__, __LINE__);
+ }
+ else
+ {
+ throw ThreadSyscallException(__FILE__, __LINE__, rc);
+ }
}
return (rc == 0);
}