mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-24 07:28:02 +01:00
Reserve only one network specific cached path per session
This commit is contained in:
parent
934b153a2c
commit
f297479a19
1 changed files with 3 additions and 7 deletions
10
src/util.cpp
10
src/util.cpp
|
@ -395,7 +395,7 @@ boost::filesystem::path GetDefaultDataDir()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static boost::filesystem::path pathCached[CBaseChainParams::MAX_NETWORK_TYPES+1];
|
static boost::filesystem::path pathCached[2];
|
||||||
static CCriticalSection csPathCached;
|
static CCriticalSection csPathCached;
|
||||||
|
|
||||||
const boost::filesystem::path &GetDataDir(bool fNetSpecific)
|
const boost::filesystem::path &GetDataDir(bool fNetSpecific)
|
||||||
|
@ -404,10 +404,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific)
|
||||||
|
|
||||||
LOCK(csPathCached);
|
LOCK(csPathCached);
|
||||||
|
|
||||||
int nNet = CBaseChainParams::MAX_NETWORK_TYPES;
|
fs::path &path = pathCached[fNetSpecific ? 1 : 0];
|
||||||
if (fNetSpecific) nNet = BaseParams().NetworkID();
|
|
||||||
|
|
||||||
fs::path &path = pathCached[nNet];
|
|
||||||
|
|
||||||
// This can be called during exceptions by LogPrintf(), so we cache the
|
// This can be called during exceptions by LogPrintf(), so we cache the
|
||||||
// value so we don't have to do memory allocations after that.
|
// value so we don't have to do memory allocations after that.
|
||||||
|
@ -433,8 +430,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific)
|
||||||
|
|
||||||
void ClearDatadirCache()
|
void ClearDatadirCache()
|
||||||
{
|
{
|
||||||
std::fill(&pathCached[0], &pathCached[CBaseChainParams::MAX_NETWORK_TYPES+1],
|
std::fill(&pathCached[0], &pathCached[2], boost::filesystem::path());
|
||||||
boost::filesystem::path());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::filesystem::path GetConfigFile()
|
boost::filesystem::path GetConfigFile()
|
||||||
|
|
Loading…
Add table
Reference in a new issue