summaryrefslogtreecommitdiff
path: root/cpp/test/IceUtil/thread/StaticMutexTest.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2004-05-25 23:08:54 +0000
committerMark Spruiell <mes@zeroc.com>2004-05-25 23:08:54 +0000
commitafe88f80f6be7bb0a3f366b0eda2219baa479170 (patch)
tree855cc8c20df4d47c4bb29f627bf12cd65c38f950 /cpp/test/IceUtil/thread/StaticMutexTest.cpp
parentFixed bin files (diff)
downloadice-afe88f80f6be7bb0a3f366b0eda2219baa479170.tar.bz2
ice-afe88f80f6be7bb0a3f366b0eda2219baa479170.tar.xz
ice-afe88f80f6be7bb0a3f366b0eda2219baa479170.zip
FreeBSD fix for EDEADLK
Diffstat (limited to 'cpp/test/IceUtil/thread/StaticMutexTest.cpp')
-rw-r--r--cpp/test/IceUtil/thread/StaticMutexTest.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/cpp/test/IceUtil/thread/StaticMutexTest.cpp b/cpp/test/IceUtil/thread/StaticMutexTest.cpp
index 0986f7abdf3..88c555c7b6a 100644
--- a/cpp/test/IceUtil/thread/StaticMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/StaticMutexTest.cpp
@@ -118,7 +118,21 @@ StaticMutexTest::run()
}
StaticMutex::TryLock lock2(staticMutex);
+#ifdef __FreeBSD__
+ try
+ {
+ test(lock.tryAcquire() == false);
+ }
+ catch(const IceUtil::ThreadSyscallException& ex)
+ {
+ //
+ // pthread_mutex_trylock returns EDEADLK in FreeBSD's new threading implementation.
+ //
+ test(ex.error() == EDEADLK);
+ }
+#else
test(lock.tryAcquire() == false);
+#endif
lock2.release();
test(lock.tryAcquire() == true);
test(lock.acquired());