mirror of
https://github.com/isar/libmdbx.git
synced 2025-02-05 17:32:06 +08:00
mdbx: check readers while opening.
Change-Id: Ieefc78d0d3922e3f98efa557f8e67aada68c4841
This commit is contained in:
parent
8f08e1c7ed
commit
0d8b59fa3b
@ -6964,6 +6964,9 @@ int __cold mdbx_env_open(MDBX_env *env, const char *path, unsigned flags,
|
|||||||
if (rc != MDBX_SUCCESS)
|
if (rc != MDBX_SUCCESS)
|
||||||
goto bailout;
|
goto bailout;
|
||||||
} else {
|
} else {
|
||||||
|
rc = mdbx_reader_check0(env, false, NULL);
|
||||||
|
if (MDBX_IS_ERROR(rc))
|
||||||
|
goto bailout;
|
||||||
if ((env->me_flags & MDBX_RDONLY) == 0) {
|
if ((env->me_flags & MDBX_RDONLY) == 0) {
|
||||||
while (env->me_lck->mti_envmode == MDBX_RDONLY) {
|
while (env->me_lck->mti_envmode == MDBX_RDONLY) {
|
||||||
if (mdbx_atomic_compare_and_swap32(&env->me_lck->mti_envmode,
|
if (mdbx_atomic_compare_and_swap32(&env->me_lck->mti_envmode,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user