mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 18:53:23 -03:00
Merge #19190: refactor: Replace RecursiveMutex with Mutex in netbase.cpp
78c8f4fe11
refactor: Replace RecursiveMutex with Mutex in netbase.cpp (Hennadii Stepanov) Pull request description: The functions that could lock this mutex, i.e., `{S,G}etProxy()`, `{S,G}etNameProxy()`, `HaveNameProxy()`, `IsProxy()`, do not call itself recursively, and do not call each other either directly or indirectly. Therefore, the `g_proxyinfo_mutex` could be a non-recursive mutex. Related to #19180. ACKs for top commit: MarcoFalke: ACK78c8f4fe11
, reviewed with the -W git option 👮 vasild: ACK78c8f4fe
verified that recursion does not happen Tree-SHA512: fc077fb371f38af5d05f1383c6bebf9926167c257892936fefd2d4fe6f679ca40124d25099e09f645d8ec266df222f96c5d0f9fd39eddcad15cbde0b427bc205
This commit is contained in:
commit
8496dbeba6
1 changed files with 9 additions and 9 deletions
|
@ -28,9 +28,9 @@
|
|||
#endif
|
||||
|
||||
// Settings
|
||||
static RecursiveMutex cs_proxyInfos;
|
||||
static proxyType proxyInfo[NET_MAX] GUARDED_BY(cs_proxyInfos);
|
||||
static proxyType nameProxy GUARDED_BY(cs_proxyInfos);
|
||||
static Mutex g_proxyinfo_mutex;
|
||||
static proxyType proxyInfo[NET_MAX] GUARDED_BY(g_proxyinfo_mutex);
|
||||
static proxyType nameProxy GUARDED_BY(g_proxyinfo_mutex);
|
||||
int nConnectTimeout = DEFAULT_CONNECT_TIMEOUT;
|
||||
bool fNameLookup = DEFAULT_NAME_LOOKUP;
|
||||
|
||||
|
@ -711,14 +711,14 @@ bool SetProxy(enum Network net, const proxyType &addrProxy) {
|
|||
assert(net >= 0 && net < NET_MAX);
|
||||
if (!addrProxy.IsValid())
|
||||
return false;
|
||||
LOCK(cs_proxyInfos);
|
||||
LOCK(g_proxyinfo_mutex);
|
||||
proxyInfo[net] = addrProxy;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GetProxy(enum Network net, proxyType &proxyInfoOut) {
|
||||
assert(net >= 0 && net < NET_MAX);
|
||||
LOCK(cs_proxyInfos);
|
||||
LOCK(g_proxyinfo_mutex);
|
||||
if (!proxyInfo[net].IsValid())
|
||||
return false;
|
||||
proxyInfoOut = proxyInfo[net];
|
||||
|
@ -744,13 +744,13 @@ bool GetProxy(enum Network net, proxyType &proxyInfoOut) {
|
|||
bool SetNameProxy(const proxyType &addrProxy) {
|
||||
if (!addrProxy.IsValid())
|
||||
return false;
|
||||
LOCK(cs_proxyInfos);
|
||||
LOCK(g_proxyinfo_mutex);
|
||||
nameProxy = addrProxy;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GetNameProxy(proxyType &nameProxyOut) {
|
||||
LOCK(cs_proxyInfos);
|
||||
LOCK(g_proxyinfo_mutex);
|
||||
if(!nameProxy.IsValid())
|
||||
return false;
|
||||
nameProxyOut = nameProxy;
|
||||
|
@ -758,12 +758,12 @@ bool GetNameProxy(proxyType &nameProxyOut) {
|
|||
}
|
||||
|
||||
bool HaveNameProxy() {
|
||||
LOCK(cs_proxyInfos);
|
||||
LOCK(g_proxyinfo_mutex);
|
||||
return nameProxy.IsValid();
|
||||
}
|
||||
|
||||
bool IsProxy(const CNetAddr &addr) {
|
||||
LOCK(cs_proxyInfos);
|
||||
LOCK(g_proxyinfo_mutex);
|
||||
for (int i = 0; i < NET_MAX; i++) {
|
||||
if (addr == static_cast<CNetAddr>(proxyInfo[i].proxy))
|
||||
return true;
|
||||
|
|
Loading…
Add table
Reference in a new issue