No problem.. will take care of it. Thanks, Ramesh.
On 6/11/2014 3:32 PM, Hans Feldt wrote: > I believe you should remove the macro while you are at it... Is that possible? > /Hans > >> -----Original Message----- >> From: ramesh.bet...@oracle.com [mailto:ramesh.bet...@oracle.com] >> Sent: den 11 juni 2014 11:04 >> To: mathi.naic...@oracle.com; Anders Widell >> Cc: opensaf-devel@lists.sourceforge.net >> Subject: [devel] [PATCH 1 of 1] base: Corrected handling of raise_obj, >> rmv_obj file descriptors of Selection object [#928] >> >> osaf/libs/agents/saf/amfa/ava_init.c | 2 +- >> osaf/libs/agents/saf/clma/clma_util.c | 2 +- >> osaf/libs/agents/saf/cpa/cpa_init.c | 2 +- >> osaf/libs/agents/saf/cpa/cpa_proc.c | 2 +- >> osaf/libs/agents/saf/eda/eda_mds.c | 2 +- >> osaf/libs/agents/saf/gla/gla_init.c | 2 +- >> osaf/libs/agents/saf/imma/imma_init.c | 2 +- >> osaf/libs/agents/saf/lga/lga_util.c | 2 +- >> osaf/libs/agents/saf/mqa/mqa_init.c | 4 +- >> osaf/libs/agents/saf/ntfa/ntfa_util.c | 2 +- >> osaf/libs/agents/saf/plma/plma_mds.c | 2 +- >> osaf/libs/core/include/ncs_osprm.h | 2 +- >> osaf/libs/core/leap/os_defs.c | 37 >> ++++++++++++++++++++------ >> osaf/libs/core/leap/sysf_tmr.c | 8 ++-- >> osaf/libs/core/mds/mds_c_sndrcv.c | 10 +++--- >> osaf/libs/core/mds/mds_main.c | 4 +- >> osaf/services/infrastructure/fm/fms/fm_main.c | 2 +- >> osaf/services/infrastructure/rde/rde_main.c | 2 +- >> osaf/services/saf/clmsv/clms/clms_main.c | 2 +- >> osaf/services/saf/clmsv/nodeagent/main.c | 2 +- >> osaf/services/saf/immsv/immd/immd_main.c | 2 +- >> osaf/services/saf/immsv/immnd/immnd_main.c | 2 +- >> osaf/services/saf/logsv/lgs/lgs_main.c | 2 +- >> osaf/services/saf/ntfsv/ntfs/ntfs_main.c | 2 +- >> osaf/services/saf/plmsv/plms/plms_main.c | 2 +- >> 25 files changed, 61 insertions(+), 42 deletions(-) >> >> >> This patch addresses the corrections suggested by the ticket #928, in >> handling raise_obj, rmv_obj file descriptors of selection object. >> >> 1. Whenever the file descriptors raise_obj and/or rmv_obj are closed, the >> respective file descriptor(s) in the data structure are set to - >> 1 indicating that the file descriptor(s) are no longer valid. >> >> 2. The function ncs_sel_obj_rmv_ind() checks rmv_obj file descriptor, and if >> set to -1, return immediately without trying to operate >> on the file descriptor. >> >> 3. The function ncs_sel_obj_ind() checks raise_obj file descriptor, and if >> set to -1, return immediately without trying to operate on the >> file descriptor. >> >> 4. If still recv() fails due to any other reason than EAGAIN or EINTR, does >> osaf_abort() to generate a core dump. >> >> diff --git a/osaf/libs/agents/saf/amfa/ava_init.c >> b/osaf/libs/agents/saf/amfa/ava_init.c >> --- a/osaf/libs/agents/saf/amfa/ava_init.c >> +++ b/osaf/libs/agents/saf/amfa/ava_init.c >> @@ -201,7 +201,7 @@ uint32_t ava_create(NCS_LIB_CREATE *crea >> m_NCS_UNLOCK(&cb->lock, NCS_LOCK_WRITE); >> >> /* This sel obj is no more used */ >> - m_NCS_SEL_OBJ_DESTROY(cb->sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&cb->sel_obj); >> >> /* everything went off well.. store the cb hdl in the global variable */ >> gl_ava_hdl = cb->cb_hdl; >> diff --git a/osaf/libs/agents/saf/clma/clma_util.c >> b/osaf/libs/agents/saf/clma/clma_util.c >> --- a/osaf/libs/agents/saf/clma/clma_util.c >> +++ b/osaf/libs/agents/saf/clma/clma_util.c >> @@ -75,7 +75,7 @@ static unsigned int clma_create(void) >> pthread_mutex_unlock(&clma_cb.cb_lock); >> >> /* No longer needed */ >> - m_NCS_SEL_OBJ_DESTROY(clma_cb.clms_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&clma_cb.clms_sync_sel); >> >> return rc; >> >> diff --git a/osaf/libs/agents/saf/cpa/cpa_init.c >> b/osaf/libs/agents/saf/cpa/cpa_init.c >> --- a/osaf/libs/agents/saf/cpa/cpa_init.c >> +++ b/osaf/libs/agents/saf/cpa/cpa_init.c >> @@ -106,7 +106,7 @@ void cpa_sync_with_cpnd(CPA_CB *cb) >> m_NCS_LOCK(&cb->cpnd_sync_lock, NCS_LOCK_WRITE); >> >> cb->cpnd_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(cb->cpnd_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&cb->cpnd_sync_sel); >> >> m_NCS_UNLOCK(&cb->cpnd_sync_lock, NCS_LOCK_WRITE); >> return; >> diff --git a/osaf/libs/agents/saf/cpa/cpa_proc.c >> b/osaf/libs/agents/saf/cpa/cpa_proc.c >> --- a/osaf/libs/agents/saf/cpa/cpa_proc.c >> +++ b/osaf/libs/agents/saf/cpa/cpa_proc.c >> @@ -1342,7 +1342,7 @@ void cpa_sync_with_cpd_for_active_replic >> /* Destroy the sync - object */ >> m_NCS_LOCK(&gc_node->cpd_active_sync_lock, NCS_LOCK_WRITE); >> gc_node->cpd_active_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(gc_node->cpd_active_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&gc_node->cpd_active_sync_sel); >> m_NCS_UNLOCK(&gc_node->cpd_active_sync_lock, NCS_LOCK_WRITE); >> TRACE_LEAVE(); >> return; >> diff --git a/osaf/libs/agents/saf/eda/eda_mds.c >> b/osaf/libs/agents/saf/eda/eda_mds.c >> --- a/osaf/libs/agents/saf/eda/eda_mds.c >> +++ b/osaf/libs/agents/saf/eda/eda_mds.c >> @@ -1539,7 +1539,7 @@ void eda_sync_with_eds(EDA_CB *cb) >> m_NCS_LOCK(&cb->eds_sync_lock, NCS_LOCK_WRITE); >> >> cb->eds_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(cb->eds_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&cb->eds_sync_sel); >> >> m_NCS_UNLOCK(&cb->eds_sync_lock, NCS_LOCK_WRITE); >> return; >> diff --git a/osaf/libs/agents/saf/gla/gla_init.c >> b/osaf/libs/agents/saf/gla/gla_init.c >> --- a/osaf/libs/agents/saf/gla/gla_init.c >> +++ b/osaf/libs/agents/saf/gla/gla_init.c >> @@ -117,7 +117,7 @@ void gla_sync_with_glnd(GLA_CB *cb) >> m_NCS_LOCK(&cb->glnd_sync_lock, NCS_LOCK_WRITE); >> >> cb->glnd_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(cb->glnd_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&cb->glnd_sync_sel); >> >> m_NCS_UNLOCK(&cb->glnd_sync_lock, NCS_LOCK_WRITE); >> >> diff --git a/osaf/libs/agents/saf/imma/imma_init.c >> b/osaf/libs/agents/saf/imma/imma_init.c >> --- a/osaf/libs/agents/saf/imma/imma_init.c >> +++ b/osaf/libs/agents/saf/imma/imma_init.c >> @@ -80,7 +80,7 @@ static void imma_sync_with_immnd(IMMA_CB >> m_NCS_LOCK(&cb->immnd_sync_lock,NCS_LOCK_WRITE); >> >> cb->immnd_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(cb->immnd_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&cb->immnd_sync_sel); >> >> m_NCS_UNLOCK(&cb->immnd_sync_lock, NCS_LOCK_WRITE); >> >> diff --git a/osaf/libs/agents/saf/lga/lga_util.c >> b/osaf/libs/agents/saf/lga/lga_util.c >> --- a/osaf/libs/agents/saf/lga/lga_util.c >> +++ b/osaf/libs/agents/saf/lga/lga_util.c >> @@ -51,7 +51,7 @@ static unsigned int lga_create(void) >> pthread_mutex_unlock(&lga_cb.cb_lock); >> >> /* No longer needed */ >> - m_NCS_SEL_OBJ_DESTROY(lga_cb.lgs_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&lga_cb.lgs_sync_sel); >> >> return rc; >> >> diff --git a/osaf/libs/agents/saf/mqa/mqa_init.c >> b/osaf/libs/agents/saf/mqa/mqa_init.c >> --- a/osaf/libs/agents/saf/mqa/mqa_init.c >> +++ b/osaf/libs/agents/saf/mqa/mqa_init.c >> @@ -126,7 +126,7 @@ static void mqa_sync_with_mqd(MQA_CB *cb >> m_NCS_LOCK(&cb->mqd_sync_lock, NCS_LOCK_WRITE); >> >> cb->mqd_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(cb->mqd_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&cb->mqd_sync_sel); >> >> m_NCS_UNLOCK(&cb->mqd_sync_lock, NCS_LOCK_WRITE); >> TRACE_1("MQD synced up with the MQA"); >> @@ -163,7 +163,7 @@ static void mqa_sync_with_mqnd(MQA_CB *c >> m_NCS_LOCK(&cb->mqnd_sync_lock, NCS_LOCK_WRITE); >> >> cb->mqnd_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(cb->mqnd_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&cb->mqnd_sync_sel); >> >> m_NCS_UNLOCK(&cb->mqnd_sync_lock, NCS_LOCK_WRITE); >> TRACE_1("MQND synced up with the MQA"); >> diff --git a/osaf/libs/agents/saf/ntfa/ntfa_util.c >> b/osaf/libs/agents/saf/ntfa/ntfa_util.c >> --- a/osaf/libs/agents/saf/ntfa/ntfa_util.c >> +++ b/osaf/libs/agents/saf/ntfa/ntfa_util.c >> @@ -56,7 +56,7 @@ static unsigned int ntfa_create(void) >> pthread_mutex_unlock(&ntfa_cb.cb_lock); >> >> /* No longer needed */ >> - m_NCS_SEL_OBJ_DESTROY(ntfa_cb.ntfs_sync_sel); >> + m_NCS_SEL_OBJ_DESTROY(&ntfa_cb.ntfs_sync_sel); >> >> /* TODO: fix env variable */ >> ntfa_cb.ntf_var_data_limit = NTFA_VARIABLE_DATA_LIMIT; >> diff --git a/osaf/libs/agents/saf/plma/plma_mds.c >> b/osaf/libs/agents/saf/plma/plma_mds.c >> --- a/osaf/libs/agents/saf/plma/plma_mds.c >> +++ b/osaf/libs/agents/saf/plma/plma_mds.c >> @@ -358,7 +358,7 @@ void plma_sync_with_plms() >> m_NCS_LOCK(&cb->cb_lock, NCS_LOCK_WRITE); >> >> cb->plms_sync_awaited = false; >> - m_NCS_SEL_OBJ_DESTROY(cb->sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&cb->sel_obj); >> >> m_NCS_UNLOCK(&cb->cb_lock, NCS_LOCK_WRITE); >> >> diff --git a/osaf/libs/core/include/ncs_osprm.h >> b/osaf/libs/core/include/ncs_osprm.h >> --- a/osaf/libs/core/include/ncs_osprm.h >> +++ b/osaf/libs/core/include/ncs_osprm.h >> @@ -671,7 +671,7 @@ uint32_t ncs_os_posix_mq(NCS_OS_POSIX_MQ >> (This is an IN argument) >> >> >> \****************************************************************************/ >> - uint32_t ncs_sel_obj_destroy(NCS_SEL_OBJ i_sel_obj); >> + uint32_t ncs_sel_obj_destroy(NCS_SEL_OBJ *i_sel_obj); >> #define m_NCS_SEL_OBJ_DESTROY(i_sel_obj) ncs_sel_obj_destroy(i_sel_obj) >> >> >> /****************************************************************************\ >> diff --git a/osaf/libs/core/leap/os_defs.c b/osaf/libs/core/leap/os_defs.c >> --- a/osaf/libs/core/leap/os_defs.c >> +++ b/osaf/libs/core/leap/os_defs.c >> @@ -1109,22 +1109,23 @@ uint32_t ncs_sel_obj_create(NCS_SEL_OBJ >> flags = fcntl(o_sel_obj->raise_obj, F_GETFL, 0); >> if (fcntl(o_sel_obj->raise_obj, F_SETFL, (flags | O_NONBLOCK)) == -1) { >> syslog(LOG_ERR, "%s: fcntl failed - %s", __FUNCTION__, >> strerror(errno)); >> - (void) ncs_sel_obj_destroy(*o_sel_obj); >> + (void) ncs_sel_obj_destroy(o_sel_obj); >> return NCSCC_RC_FAILURE; >> } >> >> return NCSCC_RC_SUCCESS; >> } >> >> -uint32_t ncs_sel_obj_destroy(NCS_SEL_OBJ i_ind_obj) >> + >> +uint32_t ncs_sel_obj_destroy(NCS_SEL_OBJ *i_ind_obj) >> { >> - shutdown(i_ind_obj.raise_obj, SHUT_RDWR); >> - close(i_ind_obj.raise_obj); >> - shutdown(i_ind_obj.rmv_obj, SHUT_RDWR); >> - close(i_ind_obj.rmv_obj); >> + ncs_sel_obj_raise_operation_shut(i_ind_obj); >> + ncs_sel_obj_rmv_operation_shut(i_ind_obj); >> + >> return NCSCC_RC_SUCCESS; >> } >> >> + >> uint32_t ncs_sel_obj_rmv_operation_shut(NCS_SEL_OBJ *i_ind_obj) >> { >> if (i_ind_obj == NULL) >> @@ -1161,7 +1162,16 @@ uint32_t ncs_sel_obj_raise_operation_shu >> uint32_t ncs_sel_obj_ind(NCS_SEL_OBJ i_ind_obj) >> { >> int rc; >> + static int logging = 0; >> >> + if (i_ind_obj.raise_obj == -1) { >> + /* Very unlikely, still avoid spamming and log only once */ >> + if (!logging++) >> + syslog(LOG_ERR, "%s: FAILED", __FUNCTION__); >> + return NCSCC_RC_FAILURE; >> + } >> + >> + logging = 0; >> retry: >> /* The following call can block, in such a case a failure is returned */ >> if ((rc = write(i_ind_obj.raise_obj, "A", 1)) != 1) { >> @@ -1184,10 +1194,20 @@ int ncs_sel_obj_rmv_ind(NCS_SEL_OBJ i_in >> int ind_count, tot_inds_rmvd; >> int num_at_a_time; >> int raise_non_block_flag_set = 0, rmv_non_block_flag_set = 0, flags = 0; >> + static int logging = 0; >> >> tot_inds_rmvd = 0; >> num_at_a_time = (one_at_a_time ? 1 : MAX_INDS_AT_A_TIME); >> >> + if (i_ind_obj.rmv_obj == -1) { >> + /* Very unlikely, still avoid spamming and log only once */ >> + if (!logging++) >> + syslog(LOG_ERR, "%s: FAILED", __FUNCTION__); >> + return NCSCC_RC_FAILURE; >> + } >> + >> + logging = 0; >> + >> /* If one_at_a_time == false, remove MAX_INDS_AT_A_TIME in a >> * non-blocking way and count the number of indications >> * so removed using "tot_inds_rmvd" >> @@ -1229,7 +1249,7 @@ int ncs_sel_obj_rmv_ind(NCS_SEL_OBJ i_in >> else { >> /* Unknown error. */ >> syslog(LOG_ERR, "%s: recv failed - %s", >> __FUNCTION__, strerror(errno)); >> - return -1; >> + osaf_abort(ind_count); >> } >> } >> } /* End of infinite loop */ >> @@ -1285,8 +1305,7 @@ int ncs_sel_obj_rmv_ind(NCS_SEL_OBJ i_in >> * Close down and return error. >> * FIXME: TODO >> */ >> - shutdown(i_ind_obj.rmv_obj, SHUT_RDWR); >> - close(i_ind_obj.rmv_obj); >> + ncs_sel_obj_rmv_operation_shut(&i_ind_obj); >> DIAG("RMV_IND2. Returning -1\n"); >> return -1; >> } >> diff --git a/osaf/libs/core/leap/sysf_tmr.c b/osaf/libs/core/leap/sysf_tmr.c >> --- a/osaf/libs/core/leap/sysf_tmr.c >> +++ b/osaf/libs/core/leap/sysf_tmr.c >> @@ -518,14 +518,14 @@ bool sysfTmrCreate(void) >> (char *)"OSAF_TMR", >> prio_val, policy, NCS_TMR_STACKSIZE, >> &gl_tcb.p_tsk_hdl) != NCSCC_RC_SUCCESS) { >> ncs_patricia_tree_destroy(&gl_tcb.tmr_pat_tree); >> - m_NCS_SEL_OBJ_DESTROY(gl_tcb.sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&gl_tcb.sel_obj); >> return false; >> } >> >> if (m_NCS_TASK_START(gl_tcb.p_tsk_hdl) != NCSCC_RC_SUCCESS) { >> m_NCS_TASK_RELEASE(gl_tcb.p_tsk_hdl); >> ncs_patricia_tree_destroy(&gl_tcb.tmr_pat_tree); >> - m_NCS_SEL_OBJ_DESTROY(gl_tcb.sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&gl_tcb.sel_obj); >> return false; >> } >> return true; >> @@ -581,7 +581,7 @@ bool sysfTmrDestroy(void) >> } >> >> ncs_patricia_tree_destroy(&gl_tcb.tmr_pat_tree); >> - m_NCS_SEL_OBJ_DESTROY(gl_tcb.sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&gl_tcb.sel_obj); >> >> /* Stop the dedicated thread that runs out of ncs_tmr_wait() */ >> >> @@ -589,7 +589,7 @@ bool sysfTmrDestroy(void) >> >> tmr_destroying = false; >> >> - m_NCS_SEL_OBJ_DESTROY(tmr_destroy_syn_obj); >> + m_NCS_SEL_OBJ_DESTROY(&tmr_destroy_syn_obj); >> >> m_NCS_UNLOCK(&gl_tcb.safe.enter_lock, NCS_LOCK_WRITE); /* critical >> region END */ >> >> diff --git a/osaf/libs/core/mds/mds_c_sndrcv.c >> b/osaf/libs/core/mds/mds_c_sndrcv.c >> --- a/osaf/libs/core/mds/mds_c_sndrcv.c >> +++ b/osaf/libs/core/mds/mds_c_sndrcv.c >> @@ -1903,7 +1903,7 @@ static uint32_t mds_subtn_tbl_del_disc_q >> if (q_ptr->next_msg == NULL) { >> if (memcmp(&q_ptr->sel_obj, &obj, sizeof(NCS_SEL_OBJ)) == 0) { >> sub_info->await_disc_queue = NULL; >> - m_NCS_SEL_OBJ_DESTROY(q_ptr->sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&q_ptr->sel_obj); >> m_MMGR_FREE_DISC_QUEUE(q_ptr); >> m_MDS_LOG_INFO("MDS_SND_RCV: Successfully deleted from >> discovery queue\n"); >> return NCSCC_RC_SUCCESS; >> @@ -1914,7 +1914,7 @@ static uint32_t mds_subtn_tbl_del_disc_q >> } else { >> if (memcmp(&q_ptr->sel_obj, &obj, sizeof(NCS_SEL_OBJ)) == 0) { >> sub_info->await_disc_queue = q_ptr->next_msg; >> - m_NCS_SEL_OBJ_DESTROY(q_ptr->sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&q_ptr->sel_obj); >> m_MMGR_FREE_DISC_QUEUE(q_ptr); >> m_MDS_LOG_INFO("MDS_SND_RCV: Successfully deleted from >> discovery queue\n"); >> return NCSCC_RC_SUCCESS; >> @@ -1926,7 +1926,7 @@ static uint32_t mds_subtn_tbl_del_disc_q >> } else { >> del_ptr->next_msg = >> q_ptr->next_msg; >> } >> - m_NCS_SEL_OBJ_DESTROY(q_ptr->sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&q_ptr->sel_obj); >> m_MMGR_FREE_DISC_QUEUE(q_ptr); >> m_MDS_LOG_INFO("MDS_SND_RCV: >> Successfully deleted from discovery queue\n"); >> return NCSCC_RC_SUCCESS; >> @@ -2619,7 +2619,7 @@ static uint32_t mcm_pvt_del_sync_send_en >> svc_cb->sync_count--; >> m_MDS_LOG_INFO("MDS_SND_RCV: Successfully Deleted the sync send >> entry with xch_id=%d, fr_svc_id=%d\n", >> xch_id, fr_svc_id); >> - m_NCS_SEL_OBJ_DESTROY(q_ptr->sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&q_ptr->sel_obj); >> m_MMGR_FREE_SYNC_SEND_QUEUE(q_ptr); >> q_ptr = NULL; >> return NCSCC_RC_SUCCESS; >> @@ -6350,7 +6350,7 @@ static uint32_t mds_check_for_mds_existe >> } >> } >> } >> - m_NCS_SEL_OBJ_DESTROY(sel_obj); >> + m_NCS_SEL_OBJ_DESTROY(&sel_obj); >> return NCSCC_RC_FAILURE; >> } >> >> diff --git a/osaf/libs/core/mds/mds_main.c b/osaf/libs/core/mds/mds_main.c >> --- a/osaf/libs/core/mds/mds_main.c >> +++ b/osaf/libs/core/mds/mds_main.c >> @@ -308,7 +308,7 @@ uint32_t mds_lib_req(NCS_LIB_REQ_INFO *r >> /* Post a dummy message to MDS thread to guarantee that it >> wakes up (and thereby sees the destroy_ind) */ >> if (mds_destroy_event(destroy_ack_obj) == NCSCC_RC_FAILURE) { >> - m_NCS_SEL_OBJ_DESTROY(destroy_ack_obj); >> + m_NCS_SEL_OBJ_DESTROY(&destroy_ack_obj); >> return NCSCC_RC_FAILURE; >> } >> /* Wait for indication from MDS thread that it is ok to kill it >> */ >> @@ -329,7 +329,7 @@ uint32_t mds_lib_req(NCS_LIB_REQ_INFO *r >> destruction. Since we will be destroying the MDS-thread, the >> following >> selection-object can no longer be accessed. Hence, it is >> safe and correct >> to destroy it now */ >> - m_NCS_SEL_OBJ_DESTROY(destroy_ack_obj); >> + m_NCS_SEL_OBJ_DESTROY(&destroy_ack_obj); >> memset(&destroy_ack_obj, 0, sizeof(destroy_ack_obj)); /* >> Destroy info */ >> >> /* Sanity check */ >> diff --git a/osaf/services/infrastructure/fm/fms/fm_main.c >> b/osaf/services/infrastructure/fm/fms/fm_main.c >> --- a/osaf/services/infrastructure/fm/fms/fm_main.c >> +++ b/osaf/services/infrastructure/fm/fms/fm_main.c >> @@ -276,7 +276,7 @@ int main(int argc, char *argv[]) >> } >> } else { >> TRACE("SIGUSR1 event rec"); >> - ncs_sel_obj_destroy(usr1_sel_obj); >> + ncs_sel_obj_destroy(&usr1_sel_obj); >> if (fm_amf_init(&fm_cb->fm_amf_cb) != >> NCSCC_RC_SUCCESS) >> goto done; >> fds[FD_AMF].fd = fm_cb->fm_amf_cb.amf_fd; >> diff --git a/osaf/services/infrastructure/rde/rde_main.c >> b/osaf/services/infrastructure/rde/rde_main.c >> --- a/osaf/services/infrastructure/rde/rde_main.c >> +++ b/osaf/services/infrastructure/rde/rde_main.c >> @@ -441,7 +441,7 @@ int main(int argc, char *argv[]) >> } >> } else { >> TRACE("SIGUSR1 event rec"); >> - ncs_sel_obj_destroy(usr1_sel_obj); >> + ncs_sel_obj_destroy(&usr1_sel_obj); >> >> if (rde_amf_init(&rde_cb->rde_amf_cb) != >> NCSCC_RC_SUCCESS) >> goto done; >> diff --git a/osaf/services/saf/clmsv/clms/clms_main.c >> b/osaf/services/saf/clmsv/clms/clms_main.c >> --- a/osaf/services/saf/clmsv/clms/clms_main.c >> +++ b/osaf/services/saf/clmsv/clms/clms_main.c >> @@ -475,7 +475,7 @@ int main(int argc, char *argv[]) >> } else { >> TRACE("SIGUSR1 event rec"); >> ncs_sel_obj_rmv_ind(usr1_sel_obj, true, true); >> - ncs_sel_obj_destroy(usr1_sel_obj); >> + ncs_sel_obj_destroy(&usr1_sel_obj); >> >> if (clms_amf_init(clms_cb) != NCSCC_RC_SUCCESS) >> { >> LOG_ER("AMF Initialization failed"); >> diff --git a/osaf/services/saf/clmsv/nodeagent/main.c >> b/osaf/services/saf/clmsv/nodeagent/main.c >> --- a/osaf/services/saf/clmsv/nodeagent/main.c >> +++ b/osaf/services/saf/clmsv/nodeagent/main.c >> @@ -640,7 +640,7 @@ int main(int argc, char *argv[]) >> } else { >> TRACE("SIGUSR1 event rec"); >> ncs_sel_obj_rmv_ind(usr1_sel_obj, true, true); >> - ncs_sel_obj_destroy(usr1_sel_obj); >> + ncs_sel_obj_destroy(&usr1_sel_obj); >> >> if ((error = clmna_amf_init(clmna_cb)) != >> NCSCC_RC_SUCCESS) { >> LOG_ER("AMF Initialization failed. %u", >> error); >> diff --git a/osaf/services/saf/immsv/immd/immd_main.c >> b/osaf/services/saf/immsv/immd/immd_main.c >> --- a/osaf/services/saf/immsv/immd/immd_main.c >> +++ b/osaf/services/saf/immsv/immd/immd_main.c >> @@ -300,7 +300,7 @@ int main(int argc, char *argv[]) >> } else { >> TRACE("SIGUSR1 event rec"); >> ncs_sel_obj_rmv_ind(immd_cb->usr1_sel_obj, >> true, true); >> - ncs_sel_obj_destroy(immd_cb->usr1_sel_obj); >> + ncs_sel_obj_destroy(&immd_cb->usr1_sel_obj); >> >> if (immd_amf_init(immd_cb) != NCSCC_RC_SUCCESS) >> break; >> diff --git a/osaf/services/saf/immsv/immnd/immnd_main.c >> b/osaf/services/saf/immsv/immnd/immnd_main.c >> --- a/osaf/services/saf/immsv/immnd/immnd_main.c >> +++ b/osaf/services/saf/immsv/immnd/immnd_main.c >> @@ -314,7 +314,7 @@ int main(int argc, char *argv[]) >> } else { >> TRACE("SIGUSR1 event rec"); >> >> ncs_sel_obj_rmv_ind(immnd_cb->usr1_sel_obj, true, true); >> - >> ncs_sel_obj_destroy(immnd_cb->usr1_sel_obj); >> + >> ncs_sel_obj_destroy(&immnd_cb->usr1_sel_obj); >> >> if (immnd_amf_init(immnd_cb) != >> NCSCC_RC_SUCCESS) >> break; >> diff --git a/osaf/services/saf/logsv/lgs/lgs_main.c >> b/osaf/services/saf/logsv/lgs/lgs_main.c >> --- a/osaf/services/saf/logsv/lgs/lgs_main.c >> +++ b/osaf/services/saf/logsv/lgs/lgs_main.c >> @@ -473,7 +473,7 @@ int main(int argc, char *argv[]) >> } else { >> TRACE("SIGUSR1 event rec"); >> ncs_sel_obj_rmv_ind(usr1_sel_obj, true, true); >> - ncs_sel_obj_destroy(usr1_sel_obj); >> + ncs_sel_obj_destroy(&usr1_sel_obj); >> >> if (lgs_amf_init(lgs_cb) != NCSCC_RC_SUCCESS) >> break; >> diff --git a/osaf/services/saf/ntfsv/ntfs/ntfs_main.c >> b/osaf/services/saf/ntfsv/ntfs/ntfs_main.c >> --- a/osaf/services/saf/ntfsv/ntfs/ntfs_main.c >> +++ b/osaf/services/saf/ntfsv/ntfs/ntfs_main.c >> @@ -336,7 +336,7 @@ int main(int argc, char *argv[]) >> >> TRACE("SIGUSR1 event rec"); >> ncs_sel_obj_rmv_ind(usr1_sel_obj, true, true); >> - ncs_sel_obj_destroy(usr1_sel_obj); >> + ncs_sel_obj_destroy(&usr1_sel_obj); >> >> if (ntfs_amf_init() != SA_AIS_OK) >> break; >> diff --git a/osaf/services/saf/plmsv/plms/plms_main.c >> b/osaf/services/saf/plmsv/plms/plms_main.c >> --- a/osaf/services/saf/plmsv/plms/plms_main.c >> +++ b/osaf/services/saf/plmsv/plms/plms_main.c >> @@ -485,7 +485,7 @@ int main(int argc, char *argv[]) >> } else { >> TRACE("SIGUSR1 event rec"); >> ncs_sel_obj_rmv_ind(plms_cb->usr1_sel_obj, >> true,true); >> - ncs_sel_obj_destroy(plms_cb->usr1_sel_obj); >> + ncs_sel_obj_destroy(&plms_cb->usr1_sel_obj); >> >> if (plms_amf_register() != NCSCC_RC_SUCCESS) >> break; >> >> ------------------------------------------------------------------------------ >> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions >> Find What Matters Most in Your Big Data with HPCC Systems >> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. >> Leverages Graph Analysis for Fast Processing & Easy Data Exploration >> http://p.sf.net/sfu/hpccsystems >> _______________________________________________ >> Opensaf-devel mailing list >> Opensaf-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/opensaf-devel ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel