summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/AsyncResult.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2014-12-01 18:22:28 +0100
committerBenoit Foucher <benoit@zeroc.com>2014-12-01 18:22:28 +0100
commitdfd9d121fe7e5c4197ad5e5e183457b8a85544c2 (patch)
tree146e8093fafb6911ca07c7db6a6eb1dd57a7a439 /cpp/src/Ice/AsyncResult.cpp
parentICE-6017 - Remove js RPM packages (diff)
downloadice-dfd9d121fe7e5c4197ad5e5e183457b8a85544c2.tar.bz2
ice-dfd9d121fe7e5c4197ad5e5e183457b8a85544c2.tar.xz
ice-dfd9d121fe7e5c4197ad5e5e183457b8a85544c2.zip
Fixed ICE-6028: test/Ice/interrupt failure
Diffstat (limited to 'cpp/src/Ice/AsyncResult.cpp')
-rw-r--r--cpp/src/Ice/AsyncResult.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/Ice/AsyncResult.cpp b/cpp/src/Ice/AsyncResult.cpp
index dc1b5689339..f1829b06ef3 100644
--- a/cpp/src/Ice/AsyncResult.cpp
+++ b/cpp/src/Ice/AsyncResult.cpp
@@ -406,6 +406,7 @@ AsyncResult::invokeCompleted()
void
AsyncResult::cancel(const Ice::LocalException& ex)
{
+ CancellationHandlerPtr handler;
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
_cancellationException.reset(ex.ice_clone());
@@ -413,8 +414,9 @@ AsyncResult::cancel(const Ice::LocalException& ex)
{
return;
}
+ handler = _cancellationHandler;
}
- _cancellationHandler->asyncRequestCanceled(OutgoingAsyncBasePtr::dynamicCast(this), ex);
+ handler->asyncRequestCanceled(OutgoingAsyncBasePtr::dynamicCast(this), ex);
}
void