openldap2/0016-Clear-shared-key-only-in-close-function.patch

17 lines
508 B
Diff

diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index 6bdf3151d..56212151b 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -4692,6 +4692,11 @@ mdb_env_close0(MDB_env *env, int excl)
if (env->me_flags & MDB_ENV_TXKEY) {
pthread_key_delete(env->me_txkey);
+
+ // No need to call desctructor anymore, as all pid
+ // values are cleared below.
+ env->me_txkey = NULL;
+
#ifdef _WIN32
/* Delete our key from the global list */
for (i=0; i<mdb_tls_nkeys; i++)