osaf/services/saf/clmsv/clms/clms_evt.c |   3 +++
 osaf/services/saf/clmsv/clms/clms_evt.h |   1 +
 osaf/services/saf/clmsv/clms/clms_mds.c |  18 ++++++++++--------
 3 files changed, 14 insertions(+), 8 deletions(-)


diff --git a/osaf/services/saf/clmsv/clms/clms_evt.c 
b/osaf/services/saf/clmsv/clms/clms_evt.c
--- a/osaf/services/saf/clmsv/clms/clms_evt.c
+++ b/osaf/services/saf/clmsv/clms/clms_evt.c
@@ -1279,6 +1279,9 @@ void clms_process_mbx(SYSF_MBX *mbx)
        case CLMSV_CLMS_RDA_EVT:
                proc_rda_evt(msg);
                break;
+       case CLMSV_CLMS_CLMNA_DOWN:
+               proc_mds_node_evt(msg);
+               break;
        default:
                LOG_ER("message type invalid %d", msg->type);
                break;
diff --git a/osaf/services/saf/clmsv/clms/clms_evt.h 
b/osaf/services/saf/clmsv/clms/clms_evt.h
--- a/osaf/services/saf/clmsv/clms/clms_evt.h
+++ b/osaf/services/saf/clmsv/clms/clms_evt.h
@@ -27,6 +27,7 @@ typedef enum clmsv_clms_evt_type {
        CLMSV_CLMS_MDS_NODE_EVT,
        CLMSV_CLMS_RDA_EVT,
        CLMSV_CLMS_RT_UPDATE,
+       CLMSV_CLMS_CLMNA_DOWN,
        CLMSV_CLMS_EVT_MAX,
 } CLMSV_CLMS_EVT_TYPE;
 
diff --git a/osaf/services/saf/clmsv/clms/clms_mds.c 
b/osaf/services/saf/clmsv/clms/clms_mds.c
--- a/osaf/services/saf/clmsv/clms/clms_mds.c
+++ b/osaf/services/saf/clmsv/clms/clms_mds.c
@@ -1088,8 +1088,7 @@ static uint32_t clms_mds_svc_event(struc
        }
 
        /* If this evt was sent from CLMA act on this */
-       if (info->info.svc_evt.i_svc_id == NCSMDS_SVC_ID_CLMA) {
-               if (info->info.svc_evt.i_change == NCSMDS_DOWN) {
+       if (info->info.svc_evt.i_change == NCSMDS_DOWN) {
                        TRACE_8("MDS DOWN for CLMA dest: %" PRIx64 ", node ID: 
%x, svc_id: %d",
                                info->info.svc_evt.i_dest, 
info->info.svc_evt.i_node_id, info->info.svc_evt.i_svc_id);
 
@@ -1100,16 +1099,20 @@ static uint32_t clms_mds_svc_event(struc
                                goto done;
                        }
 
-                       evt->type = CLMSV_CLMS_CLMA_DOWN;
-
            /** Initialize the Event Header **/
                        evt->cb_hdl = 0;
                        evt->fr_node_id = info->info.svc_evt.i_node_id;
                        evt->fr_dest = info->info.svc_evt.i_dest;
 
-           /** Initialize the MDS portion of the header **/
-                       evt->info.mds_info.node_id = 
info->info.svc_evt.i_node_id;
-                       evt->info.mds_info.mds_dest_id = 
info->info.svc_evt.i_dest;
+                       if (info->info.svc_evt.i_svc_id == NCSMDS_SVC_ID_CLMA) {
+                               evt->type = CLMSV_CLMS_CLMA_DOWN;
+                               evt->info.mds_info.node_id = 
info->info.svc_evt.i_node_id;
+                               evt->info.mds_info.mds_dest_id = 
info->info.svc_evt.i_dest;
+                       } else if (info->info.svc_evt.i_svc_id == 
NCSMDS_SVC_ID_CLMNA) {
+                               evt->type = CLMSV_CLMS_CLMNA_DOWN;
+                               evt->info.node_mds_info.node_id = 
info->info.svc_evt.i_node_id;
+                               evt->info.node_mds_info.nodeup = false;
+                       }
 
                        /* Push the event and we are done */
                        if (m_NCS_IPC_SEND(&clms_cb->mbx, evt, 
NCS_IPC_PRIORITY_HIGH) != NCSCC_RC_SUCCESS) {
@@ -1118,7 +1121,6 @@ static uint32_t clms_mds_svc_event(struc
                                rc = NCSCC_RC_FAILURE;
                                goto done;
                        }
-               }
        }
  done:
        TRACE_LEAVE();

------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to