From 6bc1f09f61ace5501272a94ee1858f8ed7d52809 Mon Sep 17 00:00:00 2001 From: GangCao Date: Tue, 22 Sep 2020 21:32:39 -0400 Subject: [PATCH] lib/nvmf: destroy the mutex properly In the both normal and exceptional case, the mutex will need to be destroyed. Change-Id: I39c815f2adffbd3786b45a938c476dcbb66a438f Signed-off-by: GangCao Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4339 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Reviewed-by: Changpeng Liu Reviewed-by: JinYu Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker --- lib/nvmf/nvmf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index dc8826a01..2f50aa4a5 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -297,6 +297,7 @@ spdk_nvmf_tgt_create(struct spdk_nvmf_target_opts *opts) tgt->accept_poller = SPDK_POLLER_REGISTER(nvmf_tgt_accept, tgt, acceptor_poll_rate); if (!tgt->accept_poller) { + pthread_mutex_destroy(&tgt->mutex); free(tgt->subsystems); free(tgt); return NULL; @@ -340,6 +341,7 @@ nvmf_tgt_destroy_cb(void *io_device) destroy_cb_fn = tgt->destroy_cb_fn; destroy_cb_arg = tgt->destroy_cb_arg; + pthread_mutex_destroy(&tgt->mutex); free(tgt); if (destroy_cb_fn) {