From: Howard Chu Date: Sun, 27 Aug 2023 14:50:51 +0000 (+0100) Subject: ITS#10095 partial revert of ITS#9278 2fd44e325195ae81664eb5dc36e7d265927c5ebc X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=406311ae59b3ab801837308c8a7b3efd59843bc3;p=thirdparty%2Fopenldap.git ITS#10095 partial revert of ITS#9278 2fd44e325195ae81664eb5dc36e7d265927c5ebc The patch was incorrect and introduced numerous race conditions. The original problem was a FreeBSD bug, subsequently fixed: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269277 --- diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index ea1a2ea5c9..bda0093d71 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -6272,17 +6272,6 @@ mdb_env_close_active(MDB_env *env, int excl) if (excl > 0) semctl(env->me_rmutex->semid, 0, IPC_RMID); } -#elif defined(MDB_ROBUST_SUPPORTED) - /* If we have the filelock: If we are the - * only remaining user, clean up robust - * mutexes. - */ - if (excl == 0) - mdb_env_excl_lock(env, &excl); - if (excl > 0) { - pthread_mutex_destroy(env->me_txns->mti_rmutex); - pthread_mutex_destroy(env->me_txns->mti_wmutex); - } #endif munmap((void *)env->me_txns, (env->me_maxreaders-1)*sizeof(MDB_reader)+sizeof(MDB_txninfo)); }