From: Miod Vallat Date: Mon, 23 Jun 2025 08:27:52 +0000 (+0200) Subject: Close race window during which various flag values might be incorrect. X-Git-Tag: rec-5.3.0-alpha1~3^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ca3a5c9f17126d8a2850bf41a457f31f08f4df1;p=thirdparty%2Fpdns.git Close race window during which various flag values might be incorrect. Signed-off-by: Miod Vallat --- diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index a28eac0045..4433462c25 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -685,8 +685,6 @@ LMDBBackend::LMDBBackend(const std::string& suffix) string syncMode = toLower(getArg("sync-mode")); - d_random_ids = mustDo("random-ids"); - if (syncMode == "nosync") d_asyncFlag = MDB_NOSYNC; else if (syncMode == "nometasync") @@ -704,9 +702,6 @@ LMDBBackend::LMDBBackend(const std::string& suffix) throw std::runtime_error(std::string("Unable to parse the 'map-size' LMDB value: ") + e.what()); } - LMDBLS::s_flag_deleted = mustDo("flag-deleted"); - d_handle_dups = false; - if (mustDo("lightning-stream")) { d_random_ids = true; d_handle_dups = true; @@ -716,6 +711,11 @@ LMDBBackend::LMDBBackend(const std::string& suffix) throw std::runtime_error(std::string("running with Lightning Stream support requires shards=1")); } } + else { + d_random_ids = mustDo("random-ids"); + d_handle_dups = false; + LMDBLS::s_flag_deleted = mustDo("flag-deleted"); + } bool opened = false;