When current coordinator on payload crash and both SCs are ready
with SC-2 active, the current code may set both SCs isCoord true.
---
 src/imm/immd/immd_proc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/imm/immd/immd_proc.c b/src/imm/immd/immd_proc.c
index b28506ba5..c16232d2d 100644
--- a/src/imm/immd/immd_proc.c
+++ b/src/imm/immd/immd_proc.c
@@ -346,7 +346,6 @@ bool immd_proc_elect_coord(IMMD_CB *cb, bool new_active)
                        if ((immnd_info_node->isOnController) &&
                            (immnd_info_node->epoch == cb->mRulingEpoch)) {
                                candidate_coord_node = immnd_info_node;
-                               immnd_info_node->isCoord = true;
                                if (immnd_info_node->immnd_key == cb->node_id) {
                                        /* Found a new candidate on active SC */
                                        break;
@@ -358,7 +357,9 @@ bool immd_proc_elect_coord(IMMD_CB *cb, bool new_active)
                }
 
                immnd_info_node = candidate_coord_node;
-               if (!immnd_info_node && cb->mScAbsenceAllowed) {
+               if (immnd_info_node != NULL) {
+                       immnd_info_node->isCoord = true;
+               } else if (cb->mScAbsenceAllowed) {
                        /* If SC absence is allowed and no SC based IMMND is
                           available then elect an IMMND coord at a payload.
                           Note this means that an IMMND at a payload may be
-- 
2.18.0



_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to