From 1590abbac309874136e28c8d18fa89f08299ec53 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Fri, 22 Dec 2023 22:54:43 +0100 Subject: [PATCH] fix: race for statebuf_ in simple progress mode --- src/dwarfs/console_writer.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/dwarfs/console_writer.cpp b/src/dwarfs/console_writer.cpp index 7703e689..fd489ac8 100644 --- a/src/dwarfs/console_writer.cpp +++ b/src/dwarfs/console_writer.cpp @@ -307,14 +307,13 @@ void console_writer::update(progress& p, bool last) { std::string tmp = fmt::format(" ==> {0:.0f}% done, {1} blocks/{2} written", 100 * frac_, p.blocks_written.load(), size_with_unit(p.compressed_size)); + std::lock_guard lock(log_mutex()); if (tmp != statebuf_) { auto t = get_current_time_string(); statebuf_ = tmp; - std::lock_guard lock(log_mutex()); log_stream() << "- " << t << statebuf_ << "\n"; } if (last) { - std::lock_guard lock(log_mutex()); log_stream() << oss.str(); } } else {