>From 510492a32b6427d265b812b3923de5910d96d310 Mon Sep 17 00:00:00 2001
From: Malahal Naineni <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel