summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Mesnier <mesnier_p@ociweb.com>2013-04-09 15:54:06 +0000
committerPhil Mesnier <mesnier_p@ociweb.com>2013-04-09 15:54:06 +0000
commitea4e345739e04d4b5c8a18d31e41bd0b2c9da78f (patch)
tree6bddbea31026523625d781845c2ab1551ba58a01
parentd0685ae4587b1e0c21b3192e108f34bb0380077b (diff)
downloadATCD-ea4e345739e04d4b5c8a18d31e41bd0b2c9da78f.tar.gz
Tue Apr 9 15:44:55 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r--TAO/ChangeLog_Asynch_ImR16
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp11
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp20
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/servers_list/Terminator.cpp1
-rwxr-xr-xTAO/orbsvcs/tests/ImplRepo/servers_list/run_test.pl7
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 ();