Matt Benjamin [mbenja...@redhat.com] wrote: > ok > > (PR?) You mean problem report? valgrind drd tool!
> -- > 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