From a4da10bc622cedd8b0129424ee29118dbe7d0a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?= =?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= Date: Fri, 3 Jun 2022 22:40:18 +0300 Subject: [PATCH] mdbx: minor fix LCK-initialization. --- src/core.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/core.c b/src/core.c index 344896e9..674c4c78 100644 --- a/src/core.c +++ b/src/core.c @@ -13183,6 +13183,9 @@ __cold int mdbx_env_open(MDBX_env *env, const char *pathname, if (lck) { if (lck_rc == MDBX_RESULT_TRUE) { lck->mti_envmode.weak = env->me_flags & (mode_flags | MDBX_RDONLY); + lck->mti_meta_sync_txnid.weak = + (uint32_t)mdbx_recent_committed_txnid(env); + lck->mti_reader_check_timestamp.weak = mdbx_osal_monotime(); rc = mdbx_lck_downgrade(env); mdbx_debug("lck-downgrade-%s: rc %i", (env->me_flags & MDBX_EXCLUSIVE) ? "partial" : "full", rc); @@ -13201,6 +13204,11 @@ __cold int mdbx_env_open(MDBX_env *env, const char *pathname, goto bailout; env->me_flags |= MDBX_ENV_TXKEY; } + } else { + env->me_lck->mti_envmode.weak = env->me_flags & (mode_flags | MDBX_RDONLY); + env->me_lck->mti_meta_sync_txnid.weak = + (uint32_t)mdbx_recent_committed_txnid(env); + env->me_lck->mti_reader_check_timestamp.weak = mdbx_osal_monotime(); } if ((flags & MDBX_RDONLY) == 0) {