SWDEV-489158: Fix for exit thread safety (#61)

* SWDEV-489158: Fix for exit thread safety

* Fixed exit thread logic

* Force CI to rerun

* Remove .vscode

* Fix thread safety bug

* Addressed some comments

* Formatting

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>

[ROCm/rocprofiler-sdk commit: f4984f9dcc]
This commit is contained in:
Baraldi, Giovanni
2024-12-11 19:41:19 +01:00
committed by GitHub
parent 0157d4e7ff
commit 661b608227
4 changed files with 64 additions and 28 deletions
@@ -43,6 +43,8 @@
#include <cstring>
#include <ctime>
#include <fstream>
#include <limits>
#include <locale>
#include <regex>
#include <set>
#include <sstream>
@@ -66,6 +68,17 @@ const auto env_regexes =
// - %q{USER} Compatibility with NVIDIA
//
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77704
// NOLINTBEGIN
[[maybe_unused]] volatile bool _initLocale = []() {
const std::ctype<char>& ct(std::use_facet<std::ctype<char>>(std::locale()));
for(size_t i = 0; i <= std::numeric_limits<unsigned char>::max(); i++)
ct.narrow(static_cast<char>(i), '\0');
ct.narrow(0, 0, 0, 0);
return true;
}();
// NOLINTEND
std::string
format_path_impl(std::string _fpath, const std::vector<output_key>& _keys)
{