diff options
author | bala <balanatarajan@users.noreply.github.com> | 2005-02-04 01:15:21 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2005-02-04 01:15:21 +0000 |
commit | 76f39fe16089df2719506b69cda1c88906326c2c (patch) | |
tree | c1d8329502d84429e99ec9bd21efa1d75020637c | |
parent | d0b157bfcf1519c623e5c9c3593ba13056f80d08 (diff) | |
download | ATCD-76f39fe16089df2719506b69cda1c88906326c2c.tar.gz |
ChangeLogTag:Thu Feb 3 19:14:17 2005 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 7 | ||||
-rw-r--r-- | TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp | 24 |
2 files changed, 12 insertions, 19 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 50749423a83..edfcb066367 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,10 @@ +Thu Feb 3 19:14:17 2005 Balachandran Natarajan <bala@dre.vanderbilt.edu> + + * tao/Messaging/Asynch_Reply_Dispatcher.cpp: + + Reverted this patch "Thu Jan 27 20:01:21 2005 Balachandran + Natarajan <bala@dre.vanderbilt.edu>" + Wed Feb 2 22:17:49 2005 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/be/be_visitor_arg_traits.cpp: diff --git a/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp b/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp index 3af46d02c25..c6c442bcaaf 100644 --- a/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp +++ b/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp @@ -211,7 +211,7 @@ TAO_Asynch_Reply_Dispatcher::connection_closed (void) (void) this->decr_refcount (); } - +// AMI Timeout Handling Begin void TAO_Asynch_Reply_Dispatcher::reply_timed_out (void) @@ -232,24 +232,10 @@ TAO_Asynch_Reply_Dispatcher::reply_timed_out (void) timeout_failure._tao_encode (out_cdr ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; - // AMI Timeout Handling Begin - bool cont_dispatch = - this->try_dispatch_reply (); - - if (this->timeout_handler_) - { - this->timeout_handler_->remove_reference (); - this->timeout_handler_ = 0; - } - - // AMI Timeout Handling End - - // A simple protocol that we follow. If the timeout had been handled - // by another thread, the last refcount for us will be held by the - // timeout handler. Hence the above call to remove_reference () will - // delete us. We then have to rely on the status of our stack - // variable to exit safely. - if (!cont_dispatch) + // This is okay here... Everything relies on our refcount being + // held by the timeout handler, whose refcount in turn is held + // by the reactor. + if (!this->try_dispatch_reply ()) return; // Turn into an output CDR |