diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-01-26 22:34:14 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-01-26 22:34:14 +0000 |
commit | 1d96c2090fe7d073f58e05d3cfa7bd17195ba3b0 (patch) | |
tree | 60bb89ae2ab565c004c57bd16fdbb702c2448db8 | |
parent | c0e532f0411c7a512f8ca9000482bc44d2bfe43b (diff) | |
download | ATCD-1d96c2090fe7d073f58e05d3cfa7bd17195ba3b0.tar.gz |
ChangeLogTag: Sun Jan 26 17:29:34 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 7 | ||||
-rw-r--r-- | TAO/tao/LF_CH_Event.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/Leader_Follower.cpp | 11 |
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 |