summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2019-06-11 10:27:09 +0200
committerJohnny Willemsen <jwillemsen@remedy.nl>2019-06-11 10:27:09 +0200
commitdde054ada9023d80ce42abe82f5dc92470d10624 (patch)
treea0b46c268d0bacec7893bb15622c6c69ef140e2f
parent2e19e8ebfd93f9ae69c2fd8f43b2ece8edde51e2 (diff)
downloadATCD-dde054ada9023d80ce42abe82f5dc92470d10624.tar.gz
When sendc fails with a timeout mark the server as timed out
* TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp:
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp
index 3e1f0c4f970..84620c5635e 100644
--- a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp
@@ -474,15 +474,28 @@ LiveEntry::do_ping (PortableServer::POA_ptr poa)
this->server_.c_str()));
}
}
+ catch (const CORBA::TIMEOUT &ex)
+ {
+ if (ImR_Locator_i::debug () > 3)
+ {
+ ORBSVCS_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) LiveEntry::do_ping, ")
+ ACE_TEXT ("sendc_ping for server <%C> threw <%C> marking as timed out\n"),
+ this->server_.c_str(), ex._info ().c_str ()));
+ }
+ this->release_callback ();
+ this->status (LS_TIMEDOUT);
+ }
catch (const CORBA::Exception &ex)
{
if (ImR_Locator_i::debug () > 3)
{
ORBSVCS_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) LiveEntry::do_ping, ")
- ACE_TEXT ("sendc_ping for server <%C> threw <%C>\n"),
+ ACE_TEXT ("sendc_ping for server <%C> threw <%C> marking as dead\n"),
this->server_.c_str(), ex._info ().c_str ()));
}
+ this->release_callback ();
this->status (LS_DEAD);
}
}