diff options
Diffstat (limited to 'logd/LogReaderThread.cpp')
-rw-r--r-- | logd/LogReaderThread.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/logd/LogReaderThread.cpp b/logd/LogReaderThread.cpp index 4a8be01fa3..6ac9741c30 100644 --- a/logd/LogReaderThread.cpp +++ b/logd/LogReaderThread.cpp @@ -72,6 +72,7 @@ void LogReaderThread::ThreadFunction() { [this](log_id_t log_id, pid_t pid, uint64_t sequence, log_time realtime) { return FilterFirstPass(log_id, pid, sequence, realtime); }); + log_buffer_->DeleteFlushToState(std::move(first_pass_state)); } bool flush_success = log_buffer_->FlushTo( writer_.get(), *flush_to_state_, @@ -105,6 +106,10 @@ void LogReaderThread::ThreadFunction() { } } + lock.unlock(); + log_buffer_->DeleteFlushToState(std::move(flush_to_state_)); + lock.lock(); + writer_->Release(); auto& log_reader_threads = reader_list_->reader_threads(); |