diff --git a/src/modules/logger/log_writer_file.cpp b/src/modules/logger/log_writer_file.cpp index 24095a3738c78b869826bfa8e290b62b52c1bc5f..a2c09fbc7f481aac2c49a96dbd5539e3e3a11437 100644 --- a/src/modules/logger/log_writer_file.cpp +++ b/src/modules/logger/log_writer_file.cpp @@ -257,8 +257,10 @@ void LogWriterFile::run() buffer.close_file(); } - } else if (call_fsync) { + } else if (call_fsync && buffer._should_run) { + pthread_mutex_unlock(&_mtx); buffer.fsync(); + pthread_mutex_lock(&_mtx); } else if (available == 0 && !buffer._should_run) { buffer.close_file();