summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-01-26 22:34:14 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-01-26 22:34:14 +0000
commit1d96c2090fe7d073f58e05d3cfa7bd17195ba3b0 (patch)
tree60bb89ae2ab565c004c57bd16fdbb702c2448db8
parentc0e532f0411c7a512f8ca9000482bc44d2bfe43b (diff)
downloadATCD-1d96c2090fe7d073f58e05d3cfa7bd17195ba3b0.tar.gz
ChangeLogTag: Sun Jan 26 17:29:34 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog7
-rw-r--r--TAO/tao/LF_CH_Event.cpp1
-rw-r--r--TAO/tao/Leader_Follower.cpp11
3 files changed, 15 insertions, 4 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index baa379087e4..34e545323db 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,10 @@
+Sun Jan 26 17:29:34 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
+
+ * tao/Leader_Follower.cpp (wait_for_event): Set LFS_TIMEOUT on the
+ LF_Event only if the follower timesout. The follower could
+ return with a -1 from wait () even if errors other than timeout
+ occurs, like connection closure and such.
+
Sun Jan 26 17:23:22 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
* tao/Notify_Handler.cpp (TAO_Notify_Handler):
diff --git a/TAO/tao/LF_CH_Event.cpp b/TAO/tao/LF_CH_Event.cpp
index f4e1551b881..700871bf95d 100644
--- a/TAO/tao/LF_CH_Event.cpp
+++ b/TAO/tao/LF_CH_Event.cpp
@@ -100,6 +100,7 @@ TAO_LF_CH_Event::error_detected (void) const
void
TAO_LF_CH_Event::set_state (int new_state)
{
+ // @@ NOTE: Is this still required?
if (this->is_state_final () == 0
&& new_state == TAO_LF_Event::LFS_TIMEOUT)
{
diff --git a/TAO/tao/Leader_Follower.cpp b/TAO/tao/Leader_Follower.cpp
index bb65ac705cb..80cb12c80b3 100644
--- a/TAO/tao/Leader_Follower.cpp
+++ b/TAO/tao/Leader_Follower.cpp
@@ -280,10 +280,13 @@ TAO_Leader_Follower::wait_for_event (TAO_LF_Event *event,
"(follower) [has timer, follower failed]\n",
t_id ));
- // We have timedout.. So set the state in the
- // LF_Event about this.. We call the non-locking,
- // no-signalling method on LF_Event..
- event->set_state (TAO_LF_Event::LFS_TIMEOUT);
+ // If we have timedout set the state in the
+ // LF_Event. We call the non-locking,
+ // no-signalling method on LF_Event.
+ if (errno == ETIME)
+ // We have timedout
+ event->set_state (TAO_LF_Event::LFS_TIMEOUT);
+
if (!event->successful ())
{
// Remove follower can fail because either