aboutsummaryrefslogtreecommitdiff
path: root/test/functional/rpc_bind.py
diff options
context:
space:
mode:
authorVasil Dimov <vd@FreeBSD.org>2023-11-02 13:20:17 +0100
committerMarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>2023-12-11 17:42:17 +0100
commit856c88776f8486446602476a1c9e133ac0cff510 (patch)
tree9dd2e04829462d88444ae95650f25613d515125d /test/functional/rpc_bind.py
parentfa3d9304e80c214c8b073f12a7f4b08c5a94af04 (diff)
ArgsManager: return path by value from GetBlocksDirPath()
`ArgsManager::m_cached_blocks_path` is protected by `ArgsManager::cs_args` and returning a reference to it after releasing the mutex is unsafe. To resolve this, return a copy of the path. This has some performance penalty which is presumably ok, given that paths are a few 100s bytes at most and `GetBlocksDirPath()` is not called often. This silences the following (clang 18): ``` common/args.cpp:288:31: error: returning variable 'm_cached_blocks_path' by reference requires holding mutex 'cs_args' [-Werror,-Wthread-safety-reference-return] 288 | if (!path.empty()) return path; | ^ ``` Do the same with `ArgsManager::GetDataDir()`, `ArgsManager::GetDataDirBase()` and `ArgsManager::GetDataDirNet()`.
Diffstat (limited to 'test/functional/rpc_bind.py')
0 files changed, 0 insertions, 0 deletions