diff --git a/libraries/chain/controller.cpp b/libraries/chain/controller.cpp index eb60ec697d..7a35b8a772 100644 --- a/libraries/chain/controller.cpp +++ b/libraries/chain/controller.cpp @@ -953,7 +953,7 @@ struct controller_impl { const chain_id_type chain_id; // read by thread_pool threads, value will not be changed bool replaying = false; bool is_producer_node = false; // true if node is configured as a block producer - db_read_mode read_mode = db_read_mode::HEAD; + const db_read_mode read_mode; bool in_trx_requiring_checks = false; ///< if true, checks that are normally skipped on replay (e.g. auth checks) cannot be skipped std::optional subjective_cpu_leeway; bool trusted_producer_light_validation = false; diff --git a/libraries/chain/include/eosio/chain/controller.hpp b/libraries/chain/include/eosio/chain/controller.hpp index 599800e753..73973b82fa 100644 --- a/libraries/chain/include/eosio/chain/controller.hpp +++ b/libraries/chain/include/eosio/chain/controller.hpp @@ -394,8 +394,10 @@ namespace eosio::chain { chain_id_type get_chain_id()const; + // thread safe db_read_mode get_read_mode()const; validation_mode get_validation_mode()const; + /// @return true if terminate-at-block reached /// not-thread-safe bool should_terminate() const;