Skip sending re-intro message if IMMD is not up.
---
 src/imm/immnd/immnd_mds.c  | 1 +
 src/imm/immnd/immnd_proc.c | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/src/imm/immnd/immnd_mds.c b/src/imm/immnd/immnd_mds.c
index 76ba77a..dd5ca83 100644
--- a/src/imm/immnd/immnd_mds.c
+++ b/src/imm/immnd/immnd_mds.c
@@ -593,6 +593,7 @@ static uint32_t immnd_mds_svc_evt(IMMND_CB *cb,
                case NCSMDS_DOWN:
                        TRACE("IMMD SERVICE DOWN => CLUSTER GOING DOWN");
                        cb->fevs_replies_pending = 0;
+                       cb->is_immd_up = false;
                        break;
 
                case NCSMDS_UP:
diff --git a/src/imm/immnd/immnd_proc.c b/src/imm/immnd/immnd_proc.c
index 74cd24f..2bba717 100644
--- a/src/imm/immnd/immnd_proc.c
+++ b/src/imm/immnd/immnd_proc.c
@@ -494,6 +494,12 @@ uint32_t immnd_introduceMe(IMMND_CB *cb)
        memset(&send_evt, '\0', sizeof(IMMSV_EVT));
 
        if (cb->mIntroduced == 2) {
+               /* Skip sending if IMMD is not up */
+               if (!cb->is_immd_up) {
+                       TRACE("IMMD is not up, skip sending re-intro message");
+                       rc = NCSCC_RC_FAILURE;
+                       goto error;
+               }
                /* Check for syncPid and pbePid, intro message will not be sent
                 * until they all exit */
                if (cb->syncPid > 0) {
-- 
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to