Date: Tuesday, February 21, 2006 @ 17:08:06
  Author: gilles
    Path: /cvsroot/carob/carob/src

Modified: ControllerConnectPolicy.cpp (1.9 -> 1.10)

simplified/clarified/debug? RRpolicy getController() loop


-----------------------------+
 ControllerConnectPolicy.cpp |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)


Index: carob/src/ControllerConnectPolicy.cpp
diff -u carob/src/ControllerConnectPolicy.cpp:1.9 
carob/src/ControllerConnectPolicy.cpp:1.10
--- carob/src/ControllerConnectPolicy.cpp:1.9   Wed Feb 15 11:03:42 2006
+++ carob/src/ControllerConnectPolicy.cpp       Tue Feb 21 17:08:06 2006
@@ -252,16 +252,18 @@
   LockScope ls(&policy_CS);
   {
     LockScope scLs(&suspected_controllers_CS);
-    unsigned int testedControllers = 0;
+    unsigned int testedControllers = 0; //unsigned because we compare it to 
vector.size()
+    bool lastTestedControllerWasSuspect = false;
     do
     {
       index = (index + 1) % controller_list.size();
+      lastTestedControllerWasSuspect = 
isSuspectedOfFailure(controller_list[index]);
       testedControllers++;
     }
-    while (isSuspectedOfFailure(controller_list[index])
+    while (lastTestedControllerWasSuspect
         && testedControllers <= controller_list.size());
-    // if there are on more controllers up => exception
-    if (testedControllers > controller_list.size())
+    // if there are no more controllers up => exception
+    if (lastTestedControllerWasSuspect)
     {
       throw NoMoreControllerException(L"All "
                                       + toWString(suspected_controllers.size())

_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits

Reply via email to