summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWunkolo <Wunkolo@gmail.com>2022-02-24 01:10:37 +0100
committerWunkolo <Wunkolo@gmail.com>2022-02-28 01:23:52 +0100
commit913c2bd2cbaaaf9a114d0c51f3543683dc2c0d8b (patch)
tree8c6c2a74dfd32b458a1d6acab70c4b1e98ca99de
parentMerge pull request #7955 from bunnei/update-dynarmic (diff)
downloadyuzu-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
-rw-r--r--src/common/logging/backend.cpp18
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()};
};