summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/ConnectionI.cpp7
-rw-r--r--cpp/src/Ice/ConnectionI.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp
index d81fe1a81a0..dcbd280e61f 100644
--- a/cpp/src/Ice/ConnectionI.cpp
+++ b/cpp/src/Ice/ConnectionI.cpp
@@ -1113,6 +1113,13 @@ Ice::ConnectionI::setAdapter(const ObjectAdapterPtr& adapter)
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
+ if(_exception.get())
+ {
+ _exception->ice_throw();
+ }
+
+ assert(_state < StateClosing);
+
//
// Before we set an adapter (or reset it) we wait until the
// dispatch count with any old adapter is zero.
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index f2338f033ac..a61a3e3c522 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.h
@@ -76,8 +76,8 @@ public:
IceInternal::EndpointPtr endpoint() const;
- void setAdapter(const ObjectAdapterPtr&);
- ObjectAdapterPtr getAdapter() const;
+ virtual void setAdapter(const ObjectAdapterPtr&); // From Connection.
+ virtual ObjectAdapterPtr getAdapter() const; // From Connection.
virtual ObjectPrx createProxy(const Identity& ident) const; // From Connection.
//