From e505507d9014a763cbf25c2f484bcf280d84c946 Mon Sep 17 00:00:00 2001 From: coryan Date: Mon, 30 Jul 2001 21:45:57 +0000 Subject: ChangeLogTag:Mon Jul 30 14:41:43 2001 Carlos O'Ryan --- TAO/ChangeLogs/ChangeLog-02a | 18 ++++++++++++++++++ TAO/tao/Leader_Follower.cpp | 6 +++--- TAO/tao/Makefile | 1 + 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 23676af75f7..2e99747a982 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,21 @@ +Mon Jul 30 14:41:43 2001 Carlos O'Ryan + + * tao/LF_Follower_Auto_Adder.h: + * tao/LF_Follower_Auto_Adder.inl: + * tao/LF_Follower_Auto_Adder.cpp: + Automatically manipulate the L/F follower set: its constructor + inserts a follower into the set and the destructor removes it. + + * tao/Leader_Follower.cpp: + Use the new LF_Follower_Auto_Adder class. + + * tao/Makefile: + * tao/Makefile.am: + * tao/Makefile.bor: + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + Add the new files to Makefiles and projects. + Sun Jul 29 11:58:51 2001 Carlos O'Ryan * tao/Leader_Follower.cpp: diff --git a/TAO/tao/Leader_Follower.cpp b/TAO/tao/Leader_Follower.cpp index d5ee2a0a02b..07f203abf15 100644 --- a/TAO/tao/Leader_Follower.cpp +++ b/TAO/tao/Leader_Follower.cpp @@ -4,6 +4,7 @@ #include "tao/Resource_Factory.h" #include "tao/Follower.h" #include "tao/Follower_Auto_Ptr.h" +#include "tao/LF_Follower_Auto_Adder.h" #include "tao/LF_Event.h" #include "tao/LF_Event_Binder.h" @@ -48,7 +49,7 @@ int TAO_Leader_Follower::elect_new_leader_i (void) { TAO_Follower* follower = - this->follower_set_.pop_front (); + this->follower_set_.head (); #if defined (TAO_DEBUG_LEADER_FOLLOWER) ACE_DEBUG ((LM_DEBUG, @@ -236,7 +237,7 @@ TAO_Leader_Follower::wait_for_event (TAO_LF_Event *event, // lost. // - (void) this->add_follower (follower); + TAO_LF_Follower_Auto_Adder auto_adder (*this, follower); if (max_wait_time == 0) { @@ -269,7 +270,6 @@ TAO_Leader_Follower::wait_for_event (TAO_LF_Event *event, " [has timer, follower failed]\n", transport->id ())); - this->remove_follower (follower); if (!event->successful ()) { // Remove follower can fail because either diff --git a/TAO/tao/Makefile b/TAO/tao/Makefile index 1d932012658..7d898dbb2d6 100644 --- a/TAO/tao/Makefile +++ b/TAO/tao/Makefile @@ -194,6 +194,7 @@ ORB_CORE_FILES = \ ORB_Table \ Follower \ Follower_Auto_Ptr \ + LF_Follower_Auto_Adder \ Leader_Follower \ Leader_Follower_Flushing_Strategy \ LF_Event \ -- cgit v1.2.1