summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/sss_client/nss_mc_common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sss_client/nss_mc_common.c b/src/sss_client/nss_mc_common.c
index 707d1249..92f802db 100644
--- a/src/sss_client/nss_mc_common.c
+++ b/src/sss_client/nss_mc_common.c
@@ -104,6 +104,8 @@ errno_t sss_nss_check_header(struct sss_cli_mc_ctx *ctx)
static void sss_nss_mc_destroy_ctx(struct sss_cli_mc_ctx *ctx)
{
+ uint32_t active_threads = ctx->active_threads;
+
if ((ctx->mmap_base != NULL) && (ctx->mmap_size != 0)) {
munmap(ctx->mmap_base, ctx->mmap_size);
}
@@ -112,6 +114,9 @@ static void sss_nss_mc_destroy_ctx(struct sss_cli_mc_ctx *ctx)
}
memset(ctx, 0, sizeof(struct sss_cli_mc_ctx));
ctx->fd = -1;
+
+ /* restore count of active threads */
+ ctx->active_threads = active_threads;
}
static errno_t sss_nss_mc_init_ctx(const char *name,