summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Outgoing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Outgoing.cpp')
-rw-r--r--cpp/src/Ice/Outgoing.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp
index 23fc92af5df..565a954f691 100644
--- a/cpp/src/Ice/Outgoing.cpp
+++ b/cpp/src/Ice/Outgoing.cpp
@@ -547,19 +547,21 @@ IceInternal::Outgoing::throwUserException()
}
}
-IceInternal::BatchOutgoing::BatchOutgoing(RequestHandler* handler) :
+IceInternal::BatchOutgoing::BatchOutgoing(RequestHandler* handler, InvocationObserver& observer) :
_handler(handler),
_connection(0),
_sent(false),
- _os(handler->getReference()->getInstance().get(), Ice::currentProtocolEncoding)
+ _os(handler->getReference()->getInstance().get(), Ice::currentProtocolEncoding),
+ _observer(observer)
{
}
-IceInternal::BatchOutgoing::BatchOutgoing(ConnectionI* connection, Instance* instance) :
+IceInternal::BatchOutgoing::BatchOutgoing(ConnectionI* connection, Instance* instance, InvocationObserver& observer) :
_handler(0),
_connection(connection),
_sent(false),
- _os(instance, Ice::currentProtocolEncoding)
+ _os(instance, Ice::currentProtocolEncoding),
+ _observer(observer)
{
}
@@ -574,7 +576,7 @@ IceInternal::BatchOutgoing::invoke()
{
_monitor.wait();
}
-
+ _remoteObserver.detach();
if(_exception.get())
{
_exception->ice_throw();