diff options
author | Wunkolo <Wunkolo@gmail.com> | 2022-02-24 01:10:37 +0100 |
---|---|---|
committer | Wunkolo <Wunkolo@gmail.com> | 2022-02-28 01:23:52 +0100 |
commit | 913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b (patch) | |
tree | 8c6c2a74dfd32b458a1d6acab70c4b1e98ca99de /src/common | |
parent | Merge pull request #7955 from bunnei/update-dynarmic (diff) | |
download | yuzu-913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b.tar yuzu-913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b.tar.gz yuzu-913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b.tar.bz2 yuzu-913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b.tar.lz yuzu-913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b.tar.xz yuzu-913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b.tar.zst yuzu-913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b.zip |
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/logging/backend.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp index c51c05b28..f1c9ed6c4 100644 --- a/src/common/logging/backend.cpp +++ b/src/common/logging/backend.cpp @@ -218,19 +218,17 @@ private: Impl(const std::filesystem::path& file_backend_filename, const Filter& filter_) : filter{filter_}, file_backend{file_backend_filename} {} - ~Impl() { - StopBackendThread(); - } + ~Impl() = default; void StartBackendThread() { - backend_thread = std::thread([this] { + backend_thread = std::jthread([this](std::stop_token stop_token) { Common::SetCurrentThreadName("yuzu:Log"); Entry entry; const auto write_logs = [this, &entry]() { ForEachBackend([&entry](Backend& backend) { backend.Write(entry); }); }; - while (!stop.stop_requested()) { - entry = message_queue.PopWait(stop.get_token()); + while (!stop_token.stop_requested()) { + entry = message_queue.PopWait(stop_token); if (entry.filename != nullptr) { write_logs(); } @@ -244,11 +242,6 @@ private: }); } - void StopBackendThread() { - stop.request_stop(); - backend_thread.join(); - } - Entry CreateEntry(Class log_class, Level log_level, const char* filename, unsigned int line_nr, const char* function, std::string&& message) const { using std::chrono::duration_cast; @@ -283,8 +276,7 @@ private: ColorConsoleBackend color_console_backend{}; FileBackend file_backend; - std::stop_source stop; - std::thread backend_thread; + std::jthread backend_thread; MPSCQueue<Entry, true> message_queue{}; std::chrono::steady_clock::time_point time_origin{std::chrono::steady_clock::now()}; }; |