If we want to to free the message, can we free it right there instead of
posting to the mailbox, dispatch, and destroy?
Thanks
Minh
On 24/3/21 12:57 pm, minhchau wrote:
My question is, message CLMSV_CLMS_TO_CLMA_IS_MEMBER_MSG is not a
callback message (prefer to CLMSV_NODE_ASYNC_GET_CBK/CLMSV_TRACK_CBK),
so when the CLMSV_CLMS_TO_CLMA_IS_MEMBER_MSG is sent to clm client's
mailbox, how the client supposes to dispatch this message? The error
would be returned from Dispatch() call, at least with
clma_hdl_cbk_dispatch_one()
On 24/3/21 12:40 pm, Surbhi Tripathi wrote:
There is no processing for “CLMSV_CLMS_TO_CLMA_IS_MEMBER_MSG”.
Without sending the message, a success message is being returned.
Regards,
Surbhi
*From:*Minh Hon Chau <minh.c...@dektech.com.au>
*Sent:* Wednesday, 24 March 2021 12:27 PM
*To:* Surbhi Tripathi <surbhi.tripa...@dektech.com.au>; Thang Duc
Nguyen <thang.d.ngu...@dektech.com.au>
*Cc:* opensaf-devel@lists.sourceforge.net
*Subject:* Re: [PATCH 1/1] clm: fix memleak detected by valgrind [#3252]
Hi Surbhi,
The patch adds IPC_SEND(), just wonder how clm processes this message
before? As there 's no IPC_SEND at the moment.
Thanks
Minh
On 17/3/21 10:29 am, ztrisur wrote:
Multiple "CLMSV_CLMS_TO_CLMA_IS_MEMBER_MSG" were not being dispatched.
Dispatch later calls detroy. Fixed that.
---
src/clm/agent/clma_mds.cc | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/clm/agent/clma_mds.cc b/src/clm/agent/clma_mds.cc
index 3e7cb7db2..6faf71c37 100644
--- a/src/clm/agent/clma_mds.cc
+++ b/src/clm/agent/clma_mds.cc
@@ -871,14 +871,21 @@ uint32_t clma_clms_msg_proc(clma_cb_t *cb, CLMSV_MSG
*clmsv_msg,
(int)clmsv_msg->info.is_member_info.client_id);
/** Lookup the hdl rec by client_id **/
if (nullptr == (clma_hdl_rec = clma_find_hdl_rec_by_client_id(
- cb, clmsv_msg->info.is_member_info.client_id))) {
- TRACE("client_id not found");
- TRACE_LEAVE();
- return NCSCC_RC_FAILURE;
+ cb, clmsv_msg->info.is_member_info.client_id))) {
+ TRACE("client_id not found");
+ TRACE_LEAVE();
+ return NCSCC_RC_FAILURE;
}
clma_hdl_rec->is_member = clmsv_msg->info.is_member_info.is_member;
clma_hdl_rec->is_configured =
- clmsv_msg->info.is_member_info.is_configured;
+ clmsv_msg->info.is_member_info.is_configured;
+ if (NCSCC_RC_SUCCESS !=
+ m_NCS_IPC_SEND(&clma_hdl_rec->mbx, clmsv_msg,
+ static_cast<NCS_IPC_PRIORITY>(prio))) {
+ TRACE("IPC SEND FAILED");
+ TRACE_LEAVE();
+ return NCSCC_RC_FAILURE;
+ }
} break;
default:
/** Unexpected message **/
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel