summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-03-03 16:46:52 +0000
committerBernard Normier <bernard@zeroc.com>2006-03-03 16:46:52 +0000
commitd177e80729ded6ca60fdcc5cd91810fcc17c05dc (patch)
tree0a4ad010ec0eb3a19884a5b76519db07df13b816 /cpp
parentfixed build failure (diff)
downloadice-d177e80729ded6ca60fdcc5cd91810fcc17c05dc.tar.bz2
ice-d177e80729ded6ca60fdcc5cd91810fcc17c05dc.tar.xz
ice-d177e80729ded6ca60fdcc5cd91810fcc17c05dc.zip
Better fix for bug #824
Diffstat (limited to 'cpp')
-rw-r--r--cpp/include/IceUtil/ThreadException.h14
-rw-r--r--cpp/src/IceUtil/ThreadException.cpp26
2 files changed, 40 insertions, 0 deletions
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;
+}