diff options
author | Phil Mesnier <mesnier_p@ociweb.com> | 2013-06-04 19:32:33 +0000 |
---|---|---|
committer | Phil Mesnier <mesnier_p@ociweb.com> | 2013-06-04 19:32:33 +0000 |
commit | d5b245d4348dd7bb8074c2bce4bea17a196227af (patch) | |
tree | 2641c9671903e694ec29bfa36aae1228d50a99b2 | |
parent | 385483de11a927d5ee4935a050530444aa671685 (diff) | |
download | ATCD-d5b245d4348dd7bb8074c2bce4bea17a196227af.tar.gz |
Tue Jun 4 19:30:32 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
* orbsvcs/ImplRepo_Service/LiveCheck.cpp:
Clean up an error at shutdown time.
-rw-r--r-- | TAO/ChangeLog | 6 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp | 25 |
2 files changed, 27 insertions, 4 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 9c60aac9fa1..dd3b8ac1edc 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,9 @@ +Tue Jun 4 19:30:32 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> + + * orbsvcs/ImplRepo_Service/LiveCheck.cpp: + + Clean up an error at shutdown time. + Mon Jun 3 21:16:43 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> * bin/tao_other_tests.lst: diff --git a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp index c0c5d3bb69b..fffa9de359a 100644 --- a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp @@ -439,8 +439,20 @@ PingReceiver::cancel (void) } this->entry_ = 0; - PortableServer::ObjectId_var oid = this->poa_->servant_to_id (this); - poa_->deactivate_object (oid.in()); + try + { + PortableServer::ObjectId_var oid = this->poa_->servant_to_id (this); + poa_->deactivate_object (oid.in()); + } + catch (CORBA::Exception &ex) + { + if (ImR_Locator_i::debug () > 4) + { + ORBSVCS_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P|%t) PingReceiver::cancel caught %C\n"), + ex._name ())); + } + } } void @@ -449,6 +461,7 @@ PingReceiver::ping (void) if (this->entry_ != 0) { this->entry_->status (LS_ALIVE); + this->entry_->release_callback (); } PortableServer::ObjectId_var oid = this->poa_->servant_to_id (this); poa_->deactivate_object (oid.in()); @@ -472,7 +485,8 @@ PingReceiver::ping_excep (Messaging::ExceptionHolder * excep_holder) if (this->entry_ != 0) { this->entry_->status (LS_TRANSIENT); - } + this->entry_->release_callback (); + } break; } default: //case TAO_INVOCATION_SEND_REQUEST_MINOR_CODE: @@ -480,7 +494,8 @@ PingReceiver::ping_excep (Messaging::ExceptionHolder * excep_holder) if (this->entry_ != 0) { this->entry_->status (LS_DEAD); - } + this->entry_->release_callback (); + } } } } @@ -489,6 +504,7 @@ PingReceiver::ping_excep (Messaging::ExceptionHolder * excep_holder) if (this->entry_ != 0) { this->entry_->status (LS_TIMEDOUT); + this->entry_->release_callback (); } } catch (CORBA::Exception &) @@ -496,6 +512,7 @@ PingReceiver::ping_excep (Messaging::ExceptionHolder * excep_holder) if (this->entry_ != 0) { this->entry_->status (LS_DEAD); + this->entry_->release_callback (); } } |