summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Outgoing.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-10-16 12:15:14 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-10-16 12:15:14 +0200
commit1edb603754a8ab3922a3b9b8c69e0dd3614e0dab (patch)
treed5d56c91a42187cbd68b0dcf65e95eab68cde22d /cpp/src/Ice/Outgoing.cpp
parentICE-4856 - Fix multicast for JDK 7 (diff)
downloadice-1edb603754a8ab3922a3b9b8c69e0dd3614e0dab.tar.bz2
ice-1edb603754a8ab3922a3b9b8c69e0dd3614e0dab.tar.xz
ice-1edb603754a8ab3922a3b9b8c69e0dd3614e0dab.zip
Fixed IceMX race condition, VC9 build
Diffstat (limited to 'cpp/src/Ice/Outgoing.cpp')
-rw-r--r--cpp/src/Ice/Outgoing.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp
index 1f9a290582c..c46b95bad14 100644
--- a/cpp/src/Ice/Outgoing.cpp
+++ b/cpp/src/Ice/Outgoing.cpp
@@ -593,7 +593,8 @@ IceInternal::BatchOutgoing::invoke()
void
IceInternal::BatchOutgoing::sent(bool notify)
{
- _remoteObserver.detach();
+ _remoteObserver.detach();
+
if(notify)
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
@@ -604,6 +605,7 @@ IceInternal::BatchOutgoing::sent(bool notify)
{
_sent = true;
}
+
//
// NOTE: At this point the stack allocated BatchOutgoing object
// can be destroyed since the notify() on the monitor will release