From 8ad388987b384df305023c6eaab6766cb155aaa4 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 22 Mar 2019 10:56:12 -0500 Subject: [PATCH] log: open log file from flusher thread Signed-off-by: Sage Weil (cherry picked from commit 16c5d828fa93b1a5bdf9c396d7c0ce236b46df9b) --- src/log/Log.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/log/Log.cc b/src/log/Log.cc index 302a2e8253873..8d74dcabc04e5 100644 --- a/src/log/Log.cc +++ b/src/log/Log.cc @@ -106,6 +106,9 @@ void Log::set_log_stderr_prefix(std::string_view p) void Log::reopen_log_file() { std::scoped_lock lock(m_flush_mutex); + if (!is_started()) { + return; + } m_flush_mutex_holder = pthread_self(); if (m_fd >= 0) VOID_TEMP_FAILURE_RETRY(::close(m_fd)); @@ -402,6 +405,7 @@ void Log::stop() void *Log::entry() { + reopen_log_file(); { std::unique_lock lock(m_queue_mutex); m_queue_mutex_holder = pthread_self(); -- 2.39.5