diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-01-26 04:35:01 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-01-26 04:35:01 +0000 |
commit | 1e17d0266624e4f790026da8dc7002e97fe50f0a (patch) | |
tree | b9710c03a6ce26c18f7dcd1e3661ac642c0e7664 /TAO/tao/Leader_Follower.cpp | |
parent | f35b25ed2d2d614e9be7db8b59e1161ae3dc1239 (diff) | |
download | ATCD-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.cpp | 12 |
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; } } |