mdbx: fix tls-dtor in case library unloading with an incomplete initialized env instance (backport).

This commit is contained in:
Leonid Yuriev
2025-11-09 10:18:07 +03:00
committed by Леонид Юрьев (Leonid Yuriev)
parent 8cab3a522a
commit 4899b155e3

View File

@@ -513,7 +513,9 @@ __cold void rthc_dtor(const uint32_t current_pid) {
MDBX_env *const env = rthc_table[i].env; MDBX_env *const env = rthc_table[i].env;
if (env->pid != current_pid) if (env->pid != current_pid)
continue; continue;
if (!(env->flags & ENV_TXKEY)) if (!env->lck_mmap.lck || env->lck_mmap.base == MAP_FAILED)
continue;
if (!(env->flags & ENV_TXKEY) || !env->lck_mmap.lck)
continue; continue;
env->flags -= ENV_TXKEY; env->flags -= ENV_TXKEY;
reader_slot_t *const begin = &env->lck_mmap.lck->rdt[0]; reader_slot_t *const begin = &env->lck_mmap.lck->rdt[0];