|
|
@ -198,15 +198,7 @@ uint256 GetRandHash() |
|
|
|
return hash; |
|
|
|
return hash; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// LogPrintf() has been broken a couple of times now
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// OutputDebugStringF (aka printf -- there is a #define that we really
|
|
|
|
|
|
|
|
// should get rid of one day) has been broken a couple of times now
|
|
|
|
|
|
|
|
// by well-meaning people adding mutexes in the most straightforward way.
|
|
|
|
// by well-meaning people adding mutexes in the most straightforward way.
|
|
|
|
// It breaks because it may be called by global destructors during shutdown.
|
|
|
|
// It breaks because it may be called by global destructors during shutdown.
|
|
|
|
// Since the order of destruction of static/global objects is undefined,
|
|
|
|
// Since the order of destruction of static/global objects is undefined,
|
|
|
@ -1065,7 +1057,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific) |
|
|
|
|
|
|
|
|
|
|
|
fs::path &path = pathCached[nNet]; |
|
|
|
fs::path &path = pathCached[nNet]; |
|
|
|
|
|
|
|
|
|
|
|
// This can be called during exceptions by printf, 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.
|
|
|
|
if (!path.empty()) |
|
|
|
if (!path.empty()) |
|
|
|
return path; |
|
|
|
return path; |
|
|
|