summaryrefslogtreecommitdiff
path: root/logd/LogReaderThread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'logd/LogReaderThread.cpp')
-rw-r--r--logd/LogReaderThread.cpp5
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();