ok

(PR?)

-- 
Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-707-0660
fax.  734-769-8938
cel.  734-216-5309

----- Original Message -----
> From: "Malahal Naineni" <mala...@us.ibm.com>
> To: nfs-ganesha-devel@lists.sourceforge.net
> Cc: mbenja...@redhat.com
> Sent: Saturday, October 17, 2015 9:38:47 AM
> Subject: Subject: [PATCH] Call destroy on mutexes and condition variables
> 
> From 510492a32b6427d265b812b3923de5910d96d310 Mon Sep 17 00:00:00 2001
> From: Malahal Naineni <mala...@us.ibm.com>
> Date: Sat, 17 Oct 2015 08:29:26 -0500
> Subject: [PATCH] Call destroy on mutexes and condition variables
> 
> We should destroy them before freeing the memory. Supresses valgrind
> errors.
> ---
>  src/clnt_vc.c | 3 +++
>  src/rpc_ctx.c | 4 ++++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/src/clnt_vc.c b/src/clnt_vc.c
> index 4c614d1..c893605 100644
> --- a/src/clnt_vc.c
> +++ b/src/clnt_vc.c
> @@ -316,6 +316,7 @@ clnt_vc_ncreate2(int fd,  /* open file descriptor */
>               if (cs) {
>                       mem_free(cs, sizeof(struct ct_serialized));
>               }
> +             mutex_destroy(&clnt->cl_lock);
>               mem_free(clnt, sizeof(CLIENT));
>       }
>       if (rec) {
> @@ -800,6 +801,7 @@ clnt_vc_release(CLIENT *clnt, u_int flags)
>                       mem_free(clnt->cl_netid, strlen(clnt->cl_netid) + 1);
>               if (clnt->cl_tp && clnt->cl_tp[0])
>                       mem_free(clnt->cl_tp, strlen(clnt->cl_tp) + 1);
> +             mutex_destroy(&clnt->cl_lock);
>               mem_free(clnt, sizeof(CLIENT));
>  
>               REC_LOCK(rec);
> @@ -861,6 +863,7 @@ clnt_vc_destroy(CLIENT *clnt)
>                       mem_free(clnt->cl_netid, strlen(clnt->cl_netid) + 1);
>               if (clnt->cl_tp && clnt->cl_tp[0])
>                       mem_free(clnt->cl_tp, strlen(clnt->cl_tp) + 1);
> +             mutex_destroy(&clnt->cl_lock);
>               mem_free(clnt, sizeof(CLIENT));
>  
>               if (xd_refcnt == 0) {
> diff --git a/src/rpc_ctx.c b/src/rpc_ctx.c
> index 3590422..6c99927 100644
> --- a/src/rpc_ctx.c
> +++ b/src/rpc_ctx.c
> @@ -85,6 +85,8 @@ alloc_rpc_call_ctx(CLIENT *clnt, rpcproc_t proc, xdrproc_t
> xdr_args,
>                       "%s: call ctx insert failed (xid %d client %p)",
>                       __func__, ctx->xid, clnt);
>               REC_UNLOCK(rec);
> +             mutex_destroy(&ctx->we.mtx);
> +             cond_destroy(&ctx->we.cv);
>               mem_free(ctx, sizeof(rpc_ctx_t));
>               ctx = NULL;
>               goto out;
> @@ -248,5 +250,7 @@ free_rpc_call_ctx(rpc_ctx_t *ctx, uint32_t flags)
>  
>       if (ctx->msg)
>               free_rpc_msg(ctx->msg);
> +     mutex_destroy(&ctx->we.mtx);
> +     cond_destroy(&ctx->we.cv);
>       mem_free(ctx, sizeof(rpc_ctx_t));
>  }
> --
> 1.8.3.1
> 
> 

------------------------------------------------------------------------------
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to