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

Reply via email to