diff options
-rw-r--r-- | TAO/ChangeLog_Asynch_ImR | 16 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp | 11 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp | 20 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/ImplRepo/servers_list/Terminator.cpp | 1 | ||||
-rwxr-xr-x | TAO/orbsvcs/tests/ImplRepo/servers_list/run_test.pl | 7 |
5 files changed, 31 insertions, 24 deletions
diff --git a/TAO/ChangeLog_Asynch_ImR b/TAO/ChangeLog_Asynch_ImR index 97ddfda16b9..3537b84af7d 100644 --- a/TAO/ChangeLog_Asynch_ImR +++ b/TAO/ChangeLog_Asynch_ImR @@ -1,3 +1,19 @@ +Tue Apr 9 15:44:55 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> + + * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp: + * orbsvcs/ImplRepo_Service/LiveCheck.cpp: + + Cleaned up explicit debug output, added a catch for errors during + connection establishment with the async ping. The AMI callback + exception handler is only invoked after a successful send of the + invocation. A connection failure is still an exception in the + caller's context. + + * orbsvcs/tests/ImplRepo/servers_list/Terminator.cpp: + * orbsvcs/tests/ImplRepo/servers_list/run_test.pl: + + Reverted earlier change. + Tue Apr 9 14:42:10 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp: diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp index d8e8e520a88..f2ea2b9de4f 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp @@ -1389,14 +1389,6 @@ SyncListener::SyncListener (const char *server, bool SyncListener::is_alive (void) { -#if 0 - this->status_ = this->pinger_.is_alive(this->server()); - - if (this->status_ == LS_ALIVE) - return true; - else if (this->status_ == LS_DEAD) - return false; -#endif this->callback_ = true; while (!this->got_it_) { @@ -1412,8 +1404,7 @@ SyncListener::is_alive (void) this->orb_->perform_work (delay); } this->got_it_ = false; - ACE_DEBUG ((LM_DEBUG, "SyncListener::is_alive returning %d (stat = %d)\n", status_ != LS_DEAD, status_)); - return this->status_ != LS_DEAD; + return this->status_ == LS_ALIVE; } bool diff --git a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp index 38356c1aa33..609c7090dd9 100644 --- a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp @@ -212,18 +212,24 @@ LiveEntry::do_ping (PortableServer::POA_ptr poa) default:; } - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, mon, this->lock_, false); - this->liveliness_ = LS_PING_AWAY; - this->retry_count_++; - } - PortableServer::ServantBase_var callback = new PingReceiver (this, poa); PortableServer::ObjectId_var oid = poa->activate_object (callback.in()); CORBA::Object_var obj = poa->id_to_reference (oid.in()); ImplementationRepository::AMI_ServerObjectHandler_var cb = ImplementationRepository::AMI_ServerObjectHandler::_narrow (obj.in()); - this->ref_->sendc_ping (cb.in()); + try + { + this->ref_->sendc_ping (cb.in()); + ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, mon, this->lock_, false); + this->liveliness_ = LS_PING_AWAY; + this->retry_count_++; + } + catch (CORBA::Exception &) + { + this->status (LS_DEAD); + this->retry_count_++; + } + return false; } diff --git a/TAO/orbsvcs/tests/ImplRepo/servers_list/Terminator.cpp b/TAO/orbsvcs/tests/ImplRepo/servers_list/Terminator.cpp index 71444a35adc..88fb72467bf 100644 --- a/TAO/orbsvcs/tests/ImplRepo/servers_list/Terminator.cpp +++ b/TAO/orbsvcs/tests/ImplRepo/servers_list/Terminator.cpp @@ -39,7 +39,6 @@ Terminator::svc() } int delay_secs = ACE_OS::atoi(mb->rd_ptr()); ACE_OS::sleep(delay_secs); - ACE_DEBUG ((LM_DEBUG, "(%P) Terminator::svc() aborting after sleep of %d seconds\n", delay_secs)); ACE_OS::abort(); } return 0; diff --git a/TAO/orbsvcs/tests/ImplRepo/servers_list/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/servers_list/run_test.pl index 4e21a973e94..1cc0254a984 100755 --- a/TAO/orbsvcs/tests/ImplRepo/servers_list/run_test.pl +++ b/TAO/orbsvcs/tests/ImplRepo/servers_list/run_test.pl @@ -305,12 +305,7 @@ sub servers_list_test my $result = 0; my $start_time = time(); - my $verbose_logging = ""; - if ($debug_level > 0) { - $verbose_logging = "-ORBDebugLevel 10 -ORBVerboseLogging 1 -ORBLogFile imr_loc.log"; - } - print "starting IMR with command line: -d $debug_level $verbose_logging -v 1000 -o $imr_imriorfile -orbendpoint iiop://:$port\n"; - $IMR->Arguments ("-d $debug_level $verbose_logging -v 1000 -o $imr_imriorfile -orbendpoint iiop://:$port"); + $IMR->Arguments ("-d $debug_level -v 1000 -o $imr_imriorfile -orbendpoint iiop://:$port"); ##### Start ImplRepo ##### $IMR_status = $IMR->Spawn (); |