[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#8342) lmdb Handle Leak with VL32 on Windows
Full_Name: Jeremiah Morrill
Version: lmdb 0.9.70
OS: Windows
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (24.120.130.199)
I noticed what I believe may be a handle leak against the latest (commit
7b9928c) on github, with the MDB_VL32 on Windows. After some poking around, it
seems to be the file mapping handle, env->me_fmh. I threw it to a CloseHandle
in the env_close0(?) and it seemed to resolve it.
Here?s a quick diff:
diff --git a/src/lmdb.c b/src/mdb.c
index a564d40..190c860 100644
--- a/src/mdb.c
+++ b/src/mdb.c
@@ -5350,6 +5350,7 @@ mdb_env_close0(MDB_env *env, int excl)
}
#ifdef MDB_VL32
#ifdef _WIN32
+ if (env->me_fmh) CloseHandle(env->me_fmh);
if (env->me_rpmutex) CloseHandle(env->me_rpmutex);
#else
pthread_mutex_destroy(&env->me_rpmutex);