Ack Thanks Lennart
> -----Original Message----- > From: Hoa Le [mailto:[email protected]] > Sent: den 10 april 2018 05:19 > To: Anders Widell <[email protected]>; Hans Nordebäck > <[email protected]> > Cc: [email protected] > Subject: [devel] [PATCH 1/1] mds: Update test suite 14 to avoid perpetually > hanging [#2831] > > Currently in suite 14, mdstest sends messages with > MDS_SENDTYPE_SNDACK > and MDS_SENDTYPE_SNDRSP types to the same destination, this sometimes > makes the Response thread to catch the wrong event and does not respond > to MDS_SENDTYPE_SNDRSP call. This causes the test case to hang forever. > > This patch changes the destination of MDS_SENDTYPE_SNDRSP call to > NCSMDS_SVC_ID_INTERNAL_MIN to avoid the above issue. > --- > src/mds/apitest/mdstipc_api.c | 56 +++++++++++++++++++++---------------- > ------ > 1 file changed, 28 insertions(+), 28 deletions(-) > > diff --git a/src/mds/apitest/mdstipc_api.c b/src/mds/apitest/mdstipc_api.c > index 5bfa7ef..de166d1 100644 > --- a/src/mds/apitest/mdstipc_api.c > +++ b/src/mds/apitest/mdstipc_api.c > @@ -8541,7 +8541,7 @@ void tet_direct_send_all_tp_1() > /*SNDRSP*/ > printf("\nDirect send with rsp\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8549,7 +8549,7 @@ void tet_direct_send_all_tp_1() > /*Sender*/ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) != > NCSCC_RC_SUCCESS) { > printf("\nFail\n"); > @@ -8557,7 +8557,7 @@ void tet_direct_send_all_tp_1() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > > @@ -8565,7 +8565,7 @@ void tet_direct_send_all_tp_1() > /*SNDRACK*/ > printf("\n Direct send with response ack\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_rack_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8573,7 +8573,7 @@ void tet_direct_send_all_tp_1() > /*Sender */ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) == > NCSCC_RC_FAILURE) { > printf("\nFail\n"); > @@ -8581,7 +8581,7 @@ void tet_direct_send_all_tp_1() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > > @@ -8656,7 +8656,7 @@ void tet_direct_send_all_tp_2() > /*SNDRSP*/ > printf("\nDirect send with rsp\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8664,7 +8664,7 @@ void tet_direct_send_all_tp_2() > /*Sender*/ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) != > NCSCC_RC_SUCCESS) { > printf("\nFail\n"); > @@ -8672,14 +8672,14 @@ void tet_direct_send_all_tp_2() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > fflush(stdout); > /*SNDRACK*/ > printf("\n Direct send with response ack\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_rack_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8687,7 +8687,7 @@ void tet_direct_send_all_tp_2() > /*Sender */ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) == > NCSCC_RC_FAILURE) { > printf("\nFail\n"); > @@ -8695,7 +8695,7 @@ void tet_direct_send_all_tp_2() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > fflush(stdout); > @@ -8770,7 +8770,7 @@ void tet_direct_send_all_tp_3() > /*SNDRSP*/ > printf("\nDirect send with rsp\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8778,7 +8778,7 @@ void tet_direct_send_all_tp_3() > /*Sender*/ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) != > NCSCC_RC_SUCCESS) { > printf("\nFail\n"); > @@ -8786,14 +8786,14 @@ void tet_direct_send_all_tp_3() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > fflush(stdout); > /*SNDRACK*/ > printf("\n Direct send with response ack\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_rack_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8801,7 +8801,7 @@ void tet_direct_send_all_tp_3() > /*Sender */ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) == > NCSCC_RC_FAILURE) { > printf("\nFail\n"); > @@ -8809,7 +8809,7 @@ void tet_direct_send_all_tp_3() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > fflush(stdout); > @@ -8884,7 +8884,7 @@ void tet_direct_send_all_tp_4() > /*SNDRSP*/ > printf("\nDirect send with rsp\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8892,7 +8892,7 @@ void tet_direct_send_all_tp_4() > /*Sender*/ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) != > NCSCC_RC_SUCCESS) { > printf("\nFail\n"); > @@ -8900,14 +8900,14 @@ void tet_direct_send_all_tp_4() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > fflush(stdout); > /*SNDRACK*/ > printf("\n Direct send with response ack\n"); > if > (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_all_rack_thread, > - gl_tet_vdest[1].svc[1].task.t_handle) == > + gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) { > printf("\nTask has been Created\n"); > fflush(stdout); > @@ -8915,7 +8915,7 @@ void tet_direct_send_all_tp_4() > /*Sender */ > if (mds_direct_send_message( > gl_tet_adest.mds_pwe1_hdl, > NCSMDS_SVC_ID_EXTERNAL_MIN, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > gl_set_msg_fmt_ver, > + NCSMDS_SVC_ID_INTERNAL_MIN, > gl_set_msg_fmt_ver, > MDS_SENDTYPE_SNDRSP, gl_tet_vdest[1].vdest, 0, > MDS_SEND_PRIORITY_LOW, message) == > NCSCC_RC_FAILURE) { > printf("\nFail\n"); > @@ -8923,7 +8923,7 @@ void tet_direct_send_all_tp_4() > } else > printf("\nSuccess\n"); > /*Now Stop and Release the Receiver Thread*/ > - if (tet_release_task(gl_tet_vdest[1].svc[1].task.t_handle) == > + if (tet_release_task(gl_tet_vdest[1].svc[0].task.t_handle) == > NCSCC_RC_SUCCESS) > printf("\nTASK is released\n"); > fflush(stdout); > @@ -10347,9 +10347,9 @@ void tet_Dvdest_rcvr_all_rack_thread() > bool rsp_reqd = false; > printf("\nInside Receiver Thread\n"); > fflush(stdout); > - if ((svc_id = is_vdest_sel_obj_found(1, 1))) { > + if ((svc_id = is_vdest_sel_obj_found(1, 0))) { > if (mds_service_retrieve(gl_tet_vdest[1].mds_pwe1_hdl, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > + NCSMDS_SVC_ID_INTERNAL_MIN, > SA_DISPATCH_ALL) != > NCSCC_RC_SUCCESS) { > printf("Fail mds_service_retrieve\n"); > } > @@ -10376,9 +10376,9 @@ void tet_Dvdest_rcvr_all_thread() > bool rsp_reqd = false; > printf("\nInside Receiver Thread\n"); > fflush(stdout); > - if ((svc_id = is_vdest_sel_obj_found(1, 1))) { > + if ((svc_id = is_vdest_sel_obj_found(1, 0))) { > if (mds_service_retrieve(gl_tet_vdest[1].mds_pwe1_hdl, > - NCSMDS_SVC_ID_EXTERNAL_MIN, > + NCSMDS_SVC_ID_INTERNAL_MIN, > SA_DISPATCH_ALL) != > NCSCC_RC_SUCCESS) { > printf("Fail mds_service_retrieve\n"); > } > -- > 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 ------------------------------------------------------------------------------ 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
