From f946bb7be6ec434dddf9a5d2fb1903609a514dd2 Mon Sep 17 00:00:00 2001 From: ston1th Date: Sun, 22 Oct 2017 13:38:19 +0200 Subject: [PATCH] fixed an LMDB issue on OpenBSD (#2699) which leads to a crash in monerod --- src/blockchain_db/lmdb/db_lmdb.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp index 3979a5edf..5bd02bcf7 100644 --- a/src/blockchain_db/lmdb/db_lmdb.cpp +++ b/src/blockchain_db/lmdb/db_lmdb.cpp @@ -1123,6 +1123,12 @@ void BlockchainLMDB::open(const std::string& filename, const int db_flags) m_folder = filename; +#ifdef __OpenBSD__ + if ((mdb_flags & MDB_WRITEMAP) == 0) { + MCLOG_RED(el::Level::Info, "global", "Running on OpenBSD: forcing WRITEMAP"); + mdb_flags |= MDB_WRITEMAP; + } +#endif // set up lmdb environment if ((result = mdb_env_create(&m_env))) throw0(DB_ERROR(lmdb_error("Failed to create lmdb environment: ", result).c_str()));