summaryrefslogtreecommitdiff
path: root/cpp/include/IceUtil/StaticMutex.h
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-05-23 13:08:16 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-05-23 13:08:16 +0000
commit9dc2ba9ac2b47f27629af258ecf812361fcffc41 (patch)
tree2e9d1246e03d052f317f5d7eebdce6d4ecbe6499 /cpp/include/IceUtil/StaticMutex.h
parentAdded support for Glacier2 filters. (diff)
downloadice-9dc2ba9ac2b47f27629af258ecf812361fcffc41.tar.bz2
ice-9dc2ba9ac2b47f27629af258ecf812361fcffc41.tar.xz
ice-9dc2ba9ac2b47f27629af258ecf812361fcffc41.zip
lock() now throws ThreadLockedException for EDEADLK
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 b901895aef5..a3234b3bdf9 100644
--- a/cpp/include/IceUtil/StaticMutex.h
+++ b/cpp/include/IceUtil/StaticMutex.h
@@ -285,7 +285,14 @@ StaticMutex::lock() const
int rc = pthread_mutex_lock(&_mutex);
if(rc != 0)
{
- throw ThreadSyscallException(__FILE__, __LINE__, rc);
+ if(rc == EDEADLK)
+ {
+ throw ThreadLockedException(__FILE__, __LINE__);
+ }
+ else
+ {
+ throw ThreadSyscallException(__FILE__, __LINE__, rc);
+ }
}
}