summaryrefslogtreecommitdiff
path: root/TAO/tao/Messaging
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2009-03-31 10:06:45 +0000
committermsmit <msmit@remedy.nl>2009-03-31 10:06:45 +0000
commit990644326411e525e737d688105a0b9505485e20 (patch)
tree492f575f48613dacbe7458477d7f2c538d99ffea /TAO/tao/Messaging
parentd955bd531bef53000b03603b8e342b3e94ce66f3 (diff)
downloadATCD-990644326411e525e737d688105a0b9505485e20.tar.gz
Tue Mar 31 10:44:16 UTC 2009 Marcel Smit <msmit@remedy.nl>
* tao/Asynch_Reply_Dispatcher_Base.cpp: * tao/Asynch_Reply_Dispatcher_Base.h: * tao/Asynch_Reply_Dispatcher_Base.inl: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/Exclusive_TMS.cpp: * tao/Exclusive_TMS.h: * tao/LocateRequest_Invocation.cpp: * tao/Messaging/Asynch_Reply_Dispatcher.cpp: * tao/Muxed_TMS.cpp: * tao/Muxed_TMS.h: * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.h: * tao/Synch_Invocation.cpp: * tao/Transport_Mux_Strategy.h: Refactored Reply Dispatchers. It's now possible to make a CORBA call (synchronous or asynchronous) during an AMI reply dispatch without running into a deadlock. Also, the reply dispatchers are now created on the heap, using an ACE_Intrusive_Auto_Ptr. This fixes Bugzilla 3567. * tests/Big_AMI/client.cpp: Using a different CORBA:Object_var for ior. * NEWS: Listed this change.
Diffstat (limited to 'TAO/tao/Messaging')
-rw-r--r--TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp b/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp
index 2a2d66ad5f2..9075cd3247c 100644
--- a/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp
+++ b/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp
@@ -138,7 +138,7 @@ TAO_Asynch_Reply_Dispatcher::dispatch_reply (TAO_Pluggable_Reply_Params &params)
}
}
- this->decr_refcount ();
+ this->intrusive_remove_ref (this);
return 1;
}
@@ -187,7 +187,7 @@ TAO_Asynch_Reply_Dispatcher::connection_closed (void)
}
- (void) this->decr_refcount ();
+ this->intrusive_remove_ref (this);
}
// AMI Timeout Handling Begin
@@ -241,7 +241,7 @@ TAO_Asynch_Reply_Dispatcher::reply_timed_out (void)
}
}
- (void) this->decr_refcount ();
+ this->intrusive_remove_ref (this);
}
long