From d177e80729ded6ca60fdcc5cd91810fcc17c05dc Mon Sep 17 00:00:00 2001 From: Bernard Normier Date: Fri, 3 Mar 2006 16:46:52 +0000 Subject: Better fix for bug #824 --- cpp/include/IceUtil/ThreadException.h | 14 ++++++++++++++ cpp/src/IceUtil/ThreadException.cpp | 26 ++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) (limited to 'cpp') diff --git a/cpp/include/IceUtil/ThreadException.h b/cpp/include/IceUtil/ThreadException.h index 7faa1f54271..be425f12136 100644 --- a/cpp/include/IceUtil/ThreadException.h +++ b/cpp/include/IceUtil/ThreadException.h @@ -73,6 +73,20 @@ private: static const char* _name; }; + +class ICE_UTIL_API BadThreadControlException : public Exception +{ +public: + + BadThreadControlException(const char*, int); + virtual const std::string ice_name() const; + virtual Exception* ice_clone() const; + virtual void ice_throw() const; + +private: + + static const char* _name; +}; } diff --git a/cpp/src/IceUtil/ThreadException.cpp b/cpp/src/IceUtil/ThreadException.cpp index abaa79f26a6..97ba03c47cd 100644 --- a/cpp/src/IceUtil/ThreadException.cpp +++ b/cpp/src/IceUtil/ThreadException.cpp @@ -154,3 +154,29 @@ IceUtil::ThreadNotStartedException::ice_throw() const { throw *this; } + + +IceUtil::BadThreadControlException::BadThreadControlException(const char* file, int line) : + Exception(file, line) +{ +} + +const char* IceUtil::BadThreadControlException::_name = "IceUtil::BadThreadControlException"; + +const string +IceUtil::BadThreadControlException::ice_name() const +{ + return _name; +} + +IceUtil::Exception* +IceUtil::BadThreadControlException::ice_clone() const +{ + return new BadThreadControlException(*this); +} + +void +IceUtil::BadThreadControlException::ice_throw() const +{ + throw *this; +} -- cgit v1.2.3