diff options
Diffstat (limited to 'cpp/include/IceUtil/Cond.h')
-rw-r--r-- | cpp/include/IceUtil/Cond.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/include/IceUtil/Cond.h b/cpp/include/IceUtil/Cond.h index 37973c059c3..f5b1d62220e 100644 --- a/cpp/include/IceUtil/Cond.h +++ b/cpp/include/IceUtil/Cond.h @@ -100,6 +100,10 @@ public: template <typename Lock> inline void wait(const Lock& lock) const { + if (!lock.acquired()) + { + throw ThreadLockedException(__FILE__, __LINE__); + } waitImpl(lock._mutex); } @@ -113,6 +117,10 @@ public: template <typename Lock> inline bool timedWait(const Lock& lock, const Time& timeout) const { + if (!lock.acquired()) + { + throw ThreadLockedException(__FILE__, __LINE__); + } return timedWaitImpl(lock._mutex, timeout); } |