aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpracticalswift <practicalswift@users.noreply.github.com>2018-08-29 22:33:33 +0200
committerpracticalswift <practicalswift@users.noreply.github.com>2018-08-29 22:33:33 +0200
commitd58dc9f94365ba3f993594bab293915d79dbe117 (patch)
tree2b2aa8c2085fc7f7b6a1fe89a6cf89e4df4e837d /src
parentdb5e9d3c88349f7e3b56f50f2e2862997e308fd9 (diff)
downloadbitcoin-d58dc9f94365ba3f993594bab293915d79dbe117.tar.xz
Add lock annotations (cs_args)
Diffstat (limited to 'src')
-rw-r--r--src/util.cpp4
-rw-r--r--src/util.h10
2 files changed, 7 insertions, 7 deletions
diff --git a/src/util.cpp b/src/util.cpp
index ef5ea32ed1..e58ff042e8 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -216,7 +216,7 @@ public:
/** Determine whether to use config settings in the default section,
* See also comments around ArgsManager::ArgsManager() below. */
- static inline bool UseDefaultSection(const ArgsManager& am, const std::string& arg)
+ static inline bool UseDefaultSection(const ArgsManager& am, const std::string& arg) EXCLUSIVE_LOCKS_REQUIRED(am.cs_args)
{
return (am.m_network == CBaseChainParams::MAIN || am.m_network_only_args.count(arg) == 0);
}
@@ -295,7 +295,7 @@ public:
/* Special test for -testnet and -regtest args, because we
* don't want to be confused by craziness like "[regtest] testnet=1"
*/
- static inline bool GetNetBoolArg(const ArgsManager &am, const std::string& net_arg)
+ static inline bool GetNetBoolArg(const ArgsManager &am, const std::string& net_arg) EXCLUSIVE_LOCKS_REQUIRED(am.cs_args)
{
std::pair<bool,std::string> found_result(false,std::string());
found_result = GetArgHelper(am.m_override_args, net_arg, true);
diff --git a/src/util.h b/src/util.h
index e27e73089e..7bf9fdbe12 100644
--- a/src/util.h
+++ b/src/util.h
@@ -142,11 +142,11 @@ protected:
};
mutable CCriticalSection cs_args;
- std::map<std::string, std::vector<std::string>> m_override_args;
- std::map<std::string, std::vector<std::string>> m_config_args;
- std::string m_network;
- std::set<std::string> m_network_only_args;
- std::map<OptionsCategory, std::map<std::string, Arg>> m_available_args;
+ std::map<std::string, std::vector<std::string>> m_override_args GUARDED_BY(cs_args);
+ std::map<std::string, std::vector<std::string>> m_config_args GUARDED_BY(cs_args);
+ std::string m_network GUARDED_BY(cs_args);
+ std::set<std::string> m_network_only_args GUARDED_BY(cs_args);
+ std::map<OptionsCategory, std::map<std::string, Arg>> m_available_args GUARDED_BY(cs_args);
bool ReadConfigStream(std::istream& stream, std::string& error, bool ignore_invalid_keys = false);