[K/N] Avoid global dtors in suspension and logging

^KT-50713

Merge-request: KT-MR-5426
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
This commit is contained in:
Alexander Shabalin
2022-01-12 13:28:43 +00:00
committed by Space
parent eddf8c9e72
commit d8f99d8974
2 changed files with 4 additions and 4 deletions
@@ -188,8 +188,8 @@ void logging::Log(Level level, std::initializer_list<const char*> tags, const ch
}
void logging::VLog(Level level, std::initializer_list<const char*> tags, const char* format, std::va_list args) noexcept {
static auto logFilter = internal::CreateLogFilter(compiler::runtimeLogs());
static auto logger = internal::CreateStderrLogger();
[[clang::no_destroy]] static auto logFilter = internal::CreateLogFilter(compiler::runtimeLogs());
[[clang::no_destroy]] static auto logger = internal::CreateStderrLogger();
RuntimeAssert(tags.size() > 0, "Cannot Log without tags");
std_support::span<const char* const> tagsSpan(std::data(tags), std::size(tags));
internal::Log(*logFilter, *logger, level, tagsSpan, format, args);
@@ -43,8 +43,8 @@ void yield() noexcept {
}
THREAD_LOCAL_VARIABLE bool gSuspensionRequestedByCurrentThread = false;
std::mutex gSuspensionMutex;
std::condition_variable gSuspendsionCondVar;
[[clang::no_destroy]] std::mutex gSuspensionMutex;
[[clang::no_destroy]] std::condition_variable gSuspendsionCondVar;
} // namespace