Ack. Thanks, Ramesh.
On 8/26/2015 2:10 PM, [email protected] wrote: > osaf/libs/core/mds/mds_c_sndrcv.c | 40 > +------------------------------------- > 1 files changed, 2 insertions(+), 38 deletions(-) > > > Made centralized locks & unlock wherever possible, > for better debugging mds code and to reduces scope of locks & unlock code > errors > > 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 > @@ -1804,7 +1804,6 @@ static uint32_t mds_subtn_tbl_add_disc_q > > /* Now wait till the timeout or an subscription result will come */ > > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > > switch (req->i_sendtype) { > case MDS_SENDTYPE_SND: > @@ -1888,7 +1887,6 @@ static uint32_t mds_subtn_tbl_add_disc_q > break; > } > > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > > if (NCSCC_RC_SUCCESS != mds_check_for_mds_existence(&add_ptr->sel_obj, > env_hdl, fr_svc_id, req->i_to_svc)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt exist\n"); > @@ -2465,9 +2463,7 @@ static uint32_t mcm_pvt_normal_svc_sndrs > get_svc_names(fr_svc_id), fr_svc_id, > get_svc_names(to_svc_id), to_svc_id, to_dest); > return status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.sndrsp.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > /* This is for response for local dest */ > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > @@ -2488,7 +2484,6 @@ static uint32_t mcm_pvt_normal_svc_sndrs > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_INFO("MDS_SND_RCV: MDS entry doesnt > exist\n"); > @@ -2579,10 +2574,12 @@ static uint32_t mds_await_active_tbl_del > > static uint32_t mds_mcm_time_wait(NCS_SEL_OBJ *sel_obj, uint32_t time_val) > { > + osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > /* Now wait for the response to come */ > int count = osaf_poll_one_fd(sel_obj->rmv_obj, > time_val == 0 ? -1 : (time_val * 10)); > > + osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if ((count == 0) || (count == -1)) { > /* Both for Timeout and Error Case */ > m_MDS_LOG_ERR("MDS_SND_RCV: Timeout or Error occured\n"); > @@ -2819,10 +2816,8 @@ static uint32_t mcm_pvt_normal_svc_sndra > m_MDS_ERR_PRINT_ANCHOR(msg_dest_adest); > return status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.sndrack.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* for local case */ > /* sucess case */ > @@ -2841,7 +2836,6 @@ static uint32_t mcm_pvt_normal_svc_sndra > msg_dest_adest); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > @@ -3057,9 +3051,7 @@ static uint32_t mcm_pvt_normal_svc_sndac > m_MDS_ERR_PRINT_ADEST(to_dest); > return status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.sndack.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, xch_id, > req->i_sendtype, > @@ -3076,7 +3068,6 @@ static uint32_t mcm_pvt_normal_svc_sndac > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -3271,9 +3262,7 @@ static uint32_t mcm_pvt_red_svc_sndrsp(M > m_MDS_ERR_PRINT_ANCHOR(anchor); > return status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.redrsp.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > req->info.redrsp.o_rsp = sync_queue->sent_msg; > @@ -3294,7 +3283,6 @@ static uint32_t mcm_pvt_red_svc_sndrsp(M > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -3417,9 +3405,7 @@ static uint32_t mcm_pvt_red_svc_sndrack( > m_MDS_ERR_PRINT_ANCHOR(anchor); > return status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.redrack.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, xch_id, > req->i_sendtype, > @@ -3437,7 +3423,6 @@ static uint32_t mcm_pvt_red_svc_sndrack( > msg_dest_adest); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -3547,9 +3532,7 @@ static uint32_t mcm_pvt_red_svc_sndack(M > m_MDS_ERR_PRINT_ANCHOR(anchor); > return status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.redack.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, xch_id, > req->i_sendtype, > @@ -3566,7 +3549,6 @@ static uint32_t mcm_pvt_red_svc_sndack(M > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -5125,10 +5107,8 @@ static uint32_t mcm_pvt_normal_svc_sndrs > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, > xch_id, req->i_sendtype, 0); > return ret_status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.sndrsp.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > /* This is for response for local dest */ > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > @@ -5150,7 +5130,6 @@ static uint32_t mcm_pvt_normal_svc_sndrs > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -5213,11 +5192,9 @@ static uint32_t mcm_pvt_normal_svc_sndac > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, > xch_id, req->i_sendtype, 0); > return ret_status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.sndack.i_time_to_wait)) { > /* This is for response for local dest */ > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, xch_id, > req->i_sendtype, > @@ -5235,7 +5212,6 @@ static uint32_t mcm_pvt_normal_svc_sndac > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -5307,9 +5283,7 @@ static uint32_t mcm_pvt_normal_svc_sndra > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, > xch_id, req->i_sendtype, msg_dest_adest); > return ret_status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.sndrack.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* for local case */ > /* sucess case */ > @@ -5329,7 +5303,6 @@ static uint32_t mcm_pvt_normal_svc_sndra > msg_dest_adest); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -5435,9 +5408,7 @@ static uint32_t mcm_pvt_red_svc_sndrsp_d > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, > xch_id, req->i_sendtype, 0); > return ret_status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.redrsp.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > req->info.redrsp.buff = > sync_queue->recvd_msg.data.buff_info.buff; > @@ -5459,7 +5430,6 @@ static uint32_t mcm_pvt_red_svc_sndrsp_d > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -5535,9 +5505,7 @@ static uint32_t mcm_pvt_red_svc_sndrack_ > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, > xch_id, req->i_sendtype, msg_dest_adest); > return ret_status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.redrack.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, xch_id, > req->i_sendtype, > @@ -5557,7 +5525,6 @@ static uint32_t mcm_pvt_red_svc_sndrack_ > msg_dest_adest); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; > @@ -5620,9 +5587,7 @@ static uint32_t mcm_pvt_red_svc_sndack_d > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, > xch_id, req->i_sendtype, 0); > return ret_status; > } else { > - osaf_mutex_unlock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != mds_mcm_time_wait(&sync_queue->sel_obj, > req->info.redack.i_time_to_wait)) { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (sync_queue->status == NCSCC_RC_SUCCESS) { > /* sucess case */ > > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, fr_svc_id, xch_id, > req->i_sendtype, > @@ -5640,7 +5605,6 @@ static uint32_t mcm_pvt_red_svc_sndack_d > mcm_pvt_del_sync_send_entry((MDS_PWE_HDL)env_hdl, > fr_svc_id, xch_id, req->i_sendtype, 0); > return NCSCC_RC_REQ_TIMOUT; > } else { > - osaf_mutex_lock_ordie(&gl_mds_library_mutex); > if (NCSCC_RC_SUCCESS != > mds_check_for_mds_existence(&sync_queue->sel_obj, env_hdl, fr_svc_id, > to_svc_id)) { > m_MDS_LOG_ERR("MDS_SND_RCV: MDS entry doesnt > exist\n"); > return NCSCC_RC_FAILURE; ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
