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

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

View File

@@ -515,7 +515,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];