diff options
Diffstat (limited to 'cpp/test/IceUtil/thread/StaticMutexTest.cpp')
-rw-r--r-- | cpp/test/IceUtil/thread/StaticMutexTest.cpp | 14 |
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()); |