summaryrefslogtreecommitdiff
path: root/TAO/tao/Leader_Follower.cpp
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-01-26 04:35:01 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-01-26 04:35:01 +0000
commit1e17d0266624e4f790026da8dc7002e97fe50f0a (patch)
treeb9710c03a6ce26c18f7dcd1e3661ac642c0e7664 /TAO/tao/Leader_Follower.cpp
parentf35b25ed2d2d614e9be7db8b59e1161ae3dc1239 (diff)
downloadATCD-1e17d0266624e4f790026da8dc7002e97fe50f0a.tar.gz
Change:Tue Jan 25 20:33:28 2000 Irfan Pyarali <irfan@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Leader_Follower.cpp')
-rw-r--r--TAO/tao/Leader_Follower.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/TAO/tao/Leader_Follower.cpp b/TAO/tao/Leader_Follower.cpp
index a16ccc369dc..903f03bdc1b 100644
--- a/TAO/tao/Leader_Follower.cpp
+++ b/TAO/tao/Leader_Follower.cpp
@@ -65,6 +65,9 @@ TAO_Leader_Follower::wait_for_client_leader_to_complete (ACE_Time_Value *max_wai
{
if (condition_variable->wait () == -1)
{
+ // Cleanup.
+ this->remove_follower (condition_variable);
+
ACE_ERROR_RETURN ((LM_ERROR,
"Condition variable wait failed\n"),
-1);
@@ -77,10 +80,13 @@ TAO_Leader_Follower::wait_for_client_leader_to_complete (ACE_Time_Value *max_wai
tv += *max_wait_time;
if (condition_variable->wait (&tv) == -1)
{
+ // Cleanup.
+ this->remove_follower (condition_variable);
+
if (errno != ETIME)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Condition variable wait failed\n"),
- -1);
+ ACE_ERROR ((LM_ERROR,
+ "Condition variable wait failed\n"));
+
return -1;
}
}