Hi Hans
Without the return statement, RDE could potentially proceed with setting
itself to active etc..
We didn't notice this because opensaf_reboot() has this, but we're no
longer calling that.
if (use_fallback) {
/* Wait for the alarm signal we set up earlier. */
for (;;)
pause();
}
Probably a better fix is to add something similar to opensaf_quick_reboot().
Thanks
Gary
On 20/2/19 11:54 pm, Hans Nordebäck wrote:
Hi Gary,
a question, why was the return's added? /BR HansN
On 2/19/19 05:10, Gary Lee wrote:
do not send RDE_MSG_ACTIVE_PROMOTION_SUCCESS to
main thread if lock cannot be obtained
---
src/rde/rded/role.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/rde/rded/role.cc b/src/rde/rded/role.cc
index 06e93c6..3effc25 100644
--- a/src/rde/rded/role.cc
+++ b/src/rde/rded/role.cc
@@ -114,6 +114,7 @@ void Role::PromoteNode(const uint64_t cluster_size,
LOG_ER("Unable to set active controller in consensus service");
opensaf_quick_reboot("Unable to set active controller "
"in consensus service");
+ return;
}
RDE_CONTROL_BLOCK* cb = rde_get_control_block();
@@ -135,6 +136,7 @@ void Role::PromoteNode(const uint64_t cluster_size,
LOG_ER("Unable to set active controller in consensus service");
opensaf_quick_reboot("Unable to set active controller in "
"consensus service");
+ return;
}
std::this_thread::sleep_for(std::chrono::seconds(1));
}
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel