---
src/mds/apitest/mdstipc.h | 2 +-
src/mds/apitest/mdstipc_api.c | 134 +++++++++++++++++++--------------
src/mds/apitest/mdstipc_conf.c | 9 ++-
src/mds/mds_c_sndrcv.c | 1 +
src/mds/mds_tipc_fctrl_intf.cc | 4 +-
5 files changed, 88 insertions(+), 62 deletions(-)
diff --git a/src/mds/apitest/mdstipc.h b/src/mds/apitest/mdstipc.h
index 5fd7b9c6e..b56940ea6 100644
--- a/src/mds/apitest/mdstipc.h
+++ b/src/mds/apitest/mdstipc.h
@@ -203,7 +203,7 @@ uint32_t destroy_pwe_on_vdest(MDS_HDL);
/************** USER DEFINED WRAPPERS FOR MDS SERVICE APIs **************/
-uint32_t tet_create_task(NCS_OS_CB, NCSCONTEXT);
+uint32_t tet_create_task(NCS_OS_CB, NCSCONTEXT*);
uint32_t tet_release_task(void *task_handle);
int is_adest_sel_obj_found(int);
int is_sel_obj_found(int);
diff --git a/src/mds/apitest/mdstipc_api.c b/src/mds/apitest/mdstipc_api.c
index 651365e95..847f9a7f1 100644
--- a/src/mds/apitest/mdstipc_api.c
+++ b/src/mds/apitest/mdstipc_api.c
@@ -398,7 +398,7 @@ void tet_svc_install_tp_10()
printf(
"\nTest case 10:Installing the External MIN service EXTMIN in a seperate
thread and Uninstalling it here\n");
// Install thread
- rc = tet_create_task((NCS_OS_CB)tet_vdest_install_thread, t_handle);
+ rc = tet_create_task((NCS_OS_CB)tet_vdest_install_thread, &t_handle);
if (rc != NCSCC_RC_SUCCESS) {
printf("\nFail to Install thread\n");
FAIL = 1;
@@ -999,7 +999,7 @@ void tet_svc_unstall_tp_5()
// Uninstalling the above service in a seperate thread
// Uninstall thread
rc = tet_create_task((NCS_OS_CB)tet_vdest_uninstall_thread,
- gl_tet_vdest[0].svc[0].task.t_handle);
+ &gl_tet_vdest[0].svc[0].task.t_handle);
if (rc != NCSCC_RC_SUCCESS) {
printf("\nFail to create the uninstall thread\n");
FAIL = 1;
@@ -2141,12 +2141,18 @@ void cleanup_ADEST_srv()
{
int id;
printf("\nUninstalling all the services on this ADESt\n");
- for (id = gl_tet_adest.svc_count - 1; id >= 0; id--)
+ for (id = gl_tet_adest.svc_count - 1; id >= 0; id--) {
+ if (mds_service_retrieve(gl_tet_adest.mds_pwe1_hdl,
+ gl_tet_adest.svc[id].svc_id,
+ SA_DISPATCH_ALL) != NCSCC_RC_SUCCESS) {
+ printf("Adest Svc Retrieve Fail\n");
+ }
if (mds_service_uninstall(gl_tet_adest.mds_pwe1_hdl,
gl_tet_adest.svc[id].svc_id) !=
NCSCC_RC_SUCCESS) {
printf("\nFail mds_service_uninstall\n");
}
+ }
}
void tet_svc_subscr_ADEST_1()
@@ -2441,7 +2447,7 @@ void tet_svc_subscr_ADEST_8()
}
printf("\nAction: Cancel in a seperate thread\n");
if (tet_create_task((NCS_OS_CB)tet_adest_cancel_thread,
- gl_tet_adest.svc[0].task.t_handle) ==
+ &gl_tet_adest.svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -2547,7 +2553,7 @@ void tet_svc_subscr_ADEST_10()
printf("\nAction: Retrieve in a seperate thread\n");
/*Retrieve thread*/
if (tet_create_task((NCS_OS_CB)tet_adest_retrieve_thread,
- gl_tet_adest.svc[0].task.t_handle) ==
+ &gl_tet_adest.svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -2751,7 +2757,10 @@ uint32_t tet_cleanup_setup()
printf("Fail mds_service_retrieve\n");
FAIL = 1;
}
-
+ if (gl_rcvdmsginfo.msg) {
+ free(gl_rcvdmsginfo.msg);
+ gl_rcvdmsginfo.msg = NULL;
+ }
if (mds_service_uninstall(
gl_tet_vdest[i].mds_pwe1_hdl,
gl_tet_vdest[i].svc[id].svc_id) !=
@@ -2785,6 +2794,10 @@ uint32_t tet_cleanup_setup()
printf("Adest Svc Retrieve Fail\n");
FAIL = 1;
}
+ if (gl_rcvdmsginfo.msg) {
+ free(gl_rcvdmsginfo.msg);
+ gl_rcvdmsginfo.msg = NULL;
+ }
if (mds_service_uninstall(gl_tet_adest.mds_pwe1_hdl, i) !=
NCSCC_RC_SUCCESS) {
printf("Adest Svc Uninstall Fail\n");
@@ -2800,6 +2813,10 @@ uint32_t tet_cleanup_setup()
printf("Adest Svc PWE 2 Retrieve Fail\n");
FAIL = 1;
}
+ if (gl_rcvdmsginfo.msg) {
+ free(gl_rcvdmsginfo.msg);
+ gl_rcvdmsginfo.msg = NULL;
+ }
if (mds_service_uninstall(gl_tet_adest.pwe[0].mds_pwe_hdl, i) !=
NCSCC_RC_SUCCESS) {
printf("Adest Svc PWE 2 Uninstall Fail\n");
@@ -4716,6 +4733,7 @@ void tet_adest_rcvr_svc_thread()
char tmp[] = " Hi Sender! My Name is RECEIVER ";
TET_MDS_MSG *mesg;
mesg = (TET_MDS_MSG *)malloc(sizeof(TET_MDS_MSG));
+ pthread_cleanup_push(free, mesg);
memset(mesg, 0, sizeof(TET_MDS_MSG));
memcpy(mesg->send_data, tmp, sizeof(tmp));
mesg->send_len = sizeof(tmp);
@@ -4748,7 +4766,7 @@ void tet_adest_rcvr_svc_thread()
}
}
- free(mesg);
+ pthread_cleanup_pop(1);
}
void tet_vdest_rcvr_resp_thread()
@@ -4758,6 +4776,7 @@ void tet_vdest_rcvr_resp_thread()
char tmp[] = " Hi Sender! My Name is RECEIVER ";
TET_MDS_MSG *mesg;
mesg = (TET_MDS_MSG *)malloc(sizeof(TET_MDS_MSG));
+ pthread_cleanup_push(free, mesg);
memset(mesg, 0, sizeof(TET_MDS_MSG));
memcpy(mesg->send_data, tmp, sizeof(tmp));
mesg->send_len = sizeof(tmp);
@@ -4784,7 +4803,7 @@ void tet_vdest_rcvr_resp_thread()
}
}
- free(mesg);
+ pthread_cleanup_pop(1);
}
void tet_send_response_tp_1()
@@ -4824,7 +4843,7 @@ void tet_send_response_tp_1()
"\nTest Case 1: Svc INTMIN on PWE=2 of ADEST sends a LOW
Priority message to Svc NCSMDS_SVC_ID_EXTERNAL_MIN and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_adest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created");
fflush(stdout);
@@ -4901,7 +4920,7 @@ void tet_send_response_tp_2()
"\nTest Case 2: Svc INTMIN on PWE=2 of ADEST sends a MEDIUM
Priority message to Svc EXTMIN and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_adest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -4977,7 +4996,7 @@ void tet_send_response_tp_3()
"\nTest Case 3: Svc INTMIN on Active VEST=200 sends a HIGH
Priority message to Svc EXTERNAL_MIN on ADEST and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_adest_rcvr_svc_thread,
- gl_tet_adest.svc[0].task.t_handle) ==
+ &gl_tet_adest.svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -5051,7 +5070,7 @@ void tet_send_response_tp_4()
"\nTest Case 4: Svc EXTMIN of ADEST sends a VERYHIGH Priority
message to Svc EXTMIN on Active Vdest=200 and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_resp_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -5126,7 +5145,7 @@ void tet_send_response_tp_5()
"\nTest Case 5: While Await ActiveTimer ON:SvcEXTMIN of ADEST
sends a message to Svc EXTMIN on Active Vdest=200 and Times out\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_resp_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -5213,7 +5232,7 @@ void tet_send_response_tp_6()
"\nTest Case 6: Svc EXTMIN of ADEST sends a VERYHIGH Priority
message to Svc EXTMIN on QUIESCED Vdest=200 and Times out\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_resp_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -5287,7 +5306,7 @@ void tet_send_response_tp_7()
"\nTest Case 7: Implicit Subscription:Svc INTMIN on PWE=2 of
ADEST sends a LOW Priority message to Svc EXTMIN and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_adest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -5324,7 +5343,7 @@ void tet_send_response_tp_7()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_adest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -5517,7 +5536,7 @@ void tet_send_response_tp_11()
mesg->send_len = 2 * MSG_SIZE + 2;
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_adest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -5621,6 +5640,7 @@ void tet_vdest_rcvr_thread()
char tmp[] = " Yes Sender! I am in. Message Delivered?";
TET_MDS_MSG *mesg;
mesg = (TET_MDS_MSG *)malloc(sizeof(TET_MDS_MSG));
+ pthread_cleanup_push(free, mesg);
memset(mesg, 0, sizeof(TET_MDS_MSG));
memcpy(mesg->send_data, tmp, sizeof(tmp));
mesg->send_len = sizeof(tmp);
@@ -5656,7 +5676,7 @@ void tet_vdest_rcvr_thread()
}
}
fflush(stdout);
- free(mesg);
+ pthread_cleanup_pop(1);
}
void tet_Dadest_all_rcvr_thread()
@@ -5927,7 +5947,7 @@ void tet_adest_all_rcvrack_chgrole_thread()
}
if (tet_create_task(
(NCS_OS_CB)tet_adest_all_chgrole_rcvr_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -5978,7 +5998,7 @@ void tet_Dadest_all_rcvrack_chgrole_thread()
}
if (tet_create_task(
(NCS_OS_CB)tet_adest_all_chgrole_rcvr_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6150,7 +6170,7 @@ void tet_send_all_tp_1()
}
if (tet_create_task((NCS_OS_CB)tet_adest_all_rcvr_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -6313,7 +6333,7 @@ void tet_send_all_tp_2()
/*Create thread to change role*/
if (tet_create_task((NCS_OS_CB)tet_change_role_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -6354,7 +6374,7 @@ void tet_send_all_tp_2()
else
printf("\nSuccess\n");
if (tet_create_task((NCS_OS_CB)tet_vdest_all_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -6377,7 +6397,7 @@ void tet_send_all_tp_2()
printf("\nTASK is released\n");
/*RSP*/
if (tet_create_task((NCS_OS_CB)tet_adest_all_chgrole_rcvr_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -6487,7 +6507,7 @@ void tet_send_response_ack_tp_1()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6560,7 +6580,7 @@ void tet_send_response_ack_tp_2()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6631,7 +6651,7 @@ void tet_send_response_ack_tp_3()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6703,7 +6723,7 @@ void tet_send_response_ack_tp_4()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6777,7 +6797,7 @@ void tet_send_response_ack_tp_5()
"\nTest Case 5: While Await Active Timer ON:SvcEXTMIN of ADEST
sends a message to Svc EXTMIN on Active Vdest=200 and Times out\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6861,7 +6881,7 @@ void tet_send_response_ack_tp_6()
"\nTest Case 6: SvcEXTMIN of ADEST sends message to SvcEXTMIN on
QUIESCED Vdest=200 and Times out\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6933,7 +6953,7 @@ void tet_send_response_ack_tp_7()
"\nTest Case 7: Implicit Subscription: Svc EXTL_MIN on ADEST
sends a LOWPriority message to Svc EXTMIN on VDEST=200 and expects Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -6969,7 +6989,7 @@ void tet_send_response_ack_tp_7()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -7030,7 +7050,7 @@ void tet_send_response_ack_tp_8()
mesg->send_len = 2 * MSG_SIZE + 2;
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_vdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -8678,7 +8698,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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -8702,7 +8722,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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -8793,7 +8813,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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -8816,7 +8836,7 @@ void tet_direct_send_all_tp_2()
/*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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -8907,7 +8927,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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -8930,7 +8950,7 @@ void tet_direct_send_all_tp_3()
/*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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -9021,7 +9041,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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -9044,7 +9064,7 @@ void tet_direct_send_all_tp_4()
/*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[0].task.t_handle) ==
+ &gl_tet_vdest[1].svc[0].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -9163,7 +9183,7 @@ void tet_direct_send_all_tp_5()
/*Create thread to change role*/
if (tet_create_task((NCS_OS_CB)tet_change_role_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -9208,7 +9228,7 @@ void tet_direct_send_all_tp_5()
if (tet_create_task(
(NCS_OS_CB)tet_Dvdest_rcvr_all_chg_role_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -9235,7 +9255,7 @@ void tet_direct_send_all_tp_5()
/*RSP*/
if (tet_create_task(
(NCS_OS_CB)tet_Dadest_all_chgrole_rcvr_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -9460,7 +9480,7 @@ void tet_direct_send_all_tp_6()
}
if (tet_create_task((NCS_OS_CB)tet_Dadest_all_rcvr_thread,
- gl_tet_adest.svc[1].task.t_handle) ==
+ &gl_tet_adest.svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -10719,7 +10739,7 @@ void tet_direct_send_response_tp_1()
"\nTest Case 1: Svc INTMIN on PWE=2 of ADEST sends a LOW
Priority message to Svc EXTMIN and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dadest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -10796,7 +10816,7 @@ void tet_direct_send_response_tp_2()
"\nTest Case 2: Svc INTMIN on PWE=2 of ADEST sends a MEDIUM
Priority message to Svc EXTMIN and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dadest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -10864,7 +10884,7 @@ void tet_direct_send_response_tp_3()
"\nTest Case 3: Svc INTMIN on PWE=2 of ADEST sends a HIGH
Priority message to Svc EXTMIN and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dadest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -10930,7 +10950,7 @@ void tet_direct_send_response_tp_4()
"\nTest Case 4: Svc INTMIN on PWE=2 of ADEST sends a VERYHIGH
Priority message to Svc EXTMIN and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dadest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -11006,7 +11026,7 @@ void tet_direct_send_response_tp_5()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dadest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -11043,7 +11063,7 @@ void tet_direct_send_response_tp_5()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dadest_rcvr_thread,
- gl_tet_adest.svc[2].task.t_handle) ==
+ &gl_tet_adest.svc[2].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -11115,7 +11135,7 @@ void tet_direct_send_response_ack_tp_1()
"\nTest Case 1: Svc EXTMIN on ADEST sends a LOW priority message
to Svc EXTMIN on VDEST=200 and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -11187,7 +11207,7 @@ void tet_direct_send_response_ack_tp_2()
"\nTest Case 2: Svc EXTMIN on ADEST sends a MEDIUM priority
message to Svc EXTMIN on VDEST=200 and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
@@ -11259,7 +11279,7 @@ void tet_direct_send_response_ack_tp_3()
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -11330,7 +11350,7 @@ void tet_direct_send_response_ack_tp_4()
"\nTest Case 4: Svc EXTMIN on ADEST sends a VERYHIGH priority
message to Svc EXTMIN on VDEST=200 and expects a Response\n");
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -11406,7 +11426,7 @@ void tet_direct_send_response_ack_tp_5()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\tTask has been Created\n");
fflush(stdout);
@@ -11440,7 +11460,7 @@ void tet_direct_send_response_ack_tp_5()
}
/*Receiver thread*/
if (tet_create_task((NCS_OS_CB)tet_Dvdest_rcvr_thread,
- gl_tet_vdest[1].svc[1].task.t_handle) ==
+ &gl_tet_vdest[1].svc[1].task.t_handle) ==
NCSCC_RC_SUCCESS) {
printf("\nTask has been Created\n");
fflush(stdout);
diff --git a/src/mds/apitest/mdstipc_conf.c b/src/mds/apitest/mdstipc_conf.c
index 4556df531..44814427e 100644
--- a/src/mds/apitest/mdstipc_conf.c
+++ b/src/mds/apitest/mdstipc_conf.c
@@ -1106,6 +1106,7 @@ uint32_t mds_send_get_response(MDS_HDL mds_hdl,
MDS_SVC_ID svc_id,
"The response got from the receiver is : \n message
length \
= %d \n message = %s",
rsp->recvd_len, rsp->recvd_data);
+ free(rsp);
}
return NCSCC_RC_SUCCESS;
} else {
@@ -1623,7 +1624,7 @@ int is_adest_sel_obj_found(int si)
}
return 0;
}
-uint32_t tet_create_task(NCS_OS_CB task_startup, NCSCONTEXT t_handle)
+uint32_t tet_create_task(NCS_OS_CB task_startup, NCSCONTEXT *t_handle)
{
char taskname[] = "MDS_Tipc test";
int policy = SCHED_OTHER; /*root defaults */
@@ -1631,7 +1632,7 @@ uint32_t tet_create_task(NCS_OS_CB task_startup,
NCSCONTEXT t_handle)
if (m_NCS_TASK_CREATE(task_startup, NULL, taskname, prio_val, policy,
NCS_STACKSIZE_MEDIUM,
- &t_handle) == NCSCC_RC_SUCCESS)
+ t_handle) == NCSCC_RC_SUCCESS)
return NCSCC_RC_SUCCESS;
else
@@ -2013,6 +2014,10 @@ uint32_t tet_mds_cb_rcv(NCSMDS_CALLBACK_INFO
*mds_to_svc_info)
gl_rcvdmsginfo.yr_svc_hdl =
mds_to_svc_info->i_yr_svc_hdl; /*the decider*/
+ if (gl_rcvdmsginfo.msg) {
+ free(gl_rcvdmsginfo.msg);
+ gl_rcvdmsginfo.msg = NULL;
+ }
gl_rcvdmsginfo.msg = mds_to_svc_info->info.receive.i_msg;
gl_rcvdmsginfo.rsp_reqd = mds_to_svc_info->info.receive.i_rsp_reqd;
if (gl_rcvdmsginfo.rsp_reqd) {
diff --git a/src/mds/mds_c_sndrcv.c b/src/mds/mds_c_sndrcv.c
index 7850ac714..c7d41e550 100644
--- a/src/mds/mds_c_sndrcv.c
+++ b/src/mds/mds_c_sndrcv.c
@@ -2981,6 +2981,7 @@ mds_await_active_tbl_del_entry(MDS_PWE_HDL env_hdl,
MDS_SVC_ID fr_svc_id,
}
m_MDS_LOG_INFO(
"MDS_SND_RCV: Await active entry
successfully deleted\n");
+
mds_mcm_free_msg_uba_start(mov_ptr->req.msg);
m_MMGR_FREE_AWAIT_ACTIVE(mov_ptr);
return NCSCC_RC_SUCCESS;
}
diff --git a/src/mds/mds_tipc_fctrl_intf.cc b/src/mds/mds_tipc_fctrl_intf.cc
index 3d9229000..dd8d80df0 100644
--- a/src/mds/mds_tipc_fctrl_intf.cc
+++ b/src/mds/mds_tipc_fctrl_intf.cc
@@ -232,7 +232,7 @@ uint32_t process_all_events(void) {
return NCSCC_RC_SUCCESS;
}
-uint32_t create_ncs_task(void *task_hdl) {
+uint32_t create_ncs_task(NCSCONTEXT *task_hdl) {
int policy = SCHED_OTHER; /*root defaults */
int max_prio = sched_get_priority_max(policy);
int min_prio = sched_get_priority_min(policy);
@@ -251,7 +251,7 @@ uint32_t create_ncs_task(void *task_hdl) {
}
if (ncs_task_create((NCS_OS_CB)process_all_events, 0,
"OSAF_MDS", prio_val, policy, NCS_MDTM_STACKSIZE,
- &task_hdl) != NCSCC_RC_SUCCESS) {
+ task_hdl) != NCSCC_RC_SUCCESS) {
m_MDS_LOG_ERR("FCTRL: ncs_task_create(), Error[%s]",
strerror(errno));
m_NCS_IPC_RELEASE(&mbx_events, nullptr);