summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ConnectionFactory.cpp')
-rw-r--r--cpp/src/Ice/ConnectionFactory.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp
index 7a93c367f59..56bb415d6eb 100644
--- a/cpp/src/Ice/ConnectionFactory.cpp
+++ b/cpp/src/Ice/ConnectionFactory.cpp
@@ -112,19 +112,12 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpoi
assert(transceiver);
}
connection = new Connection(_instance, transceiver, endpoint, 0);
+ connection->validate();
connection->activate();
_connections.insert(make_pair(endpoint, connection));
break;
}
- catch(const SocketException& ex)
- {
- exception = auto_ptr<LocalException>(dynamic_cast<LocalException*>(ex.ice_clone()));
- }
- catch(const DNSException& ex)
- {
- exception = auto_ptr<LocalException>(dynamic_cast<LocalException*>(ex.ice_clone()));
- }
- catch(const TimeoutException& ex)
+ catch(const LocalException& ex)
{
exception = auto_ptr<LocalException>(dynamic_cast<LocalException*>(ex.ice_clone()));
}
@@ -366,6 +359,7 @@ IceInternal::IncomingConnectionFactory::message(BasicStream&, const ThreadPoolPt
{
assert(transceiver);
ConnectionPtr connection = new Connection(_instance, transceiver, _endpoint, _adapter);
+ connection->validate();
connection->activate();
_connections.push_back(connection);
}
@@ -446,6 +440,7 @@ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const Instance
if(_transceiver)
{
ConnectionPtr connection = new Connection(_instance, _transceiver, _endpoint, _adapter);
+ connection->validate();
_connections.push_back(connection);
//