diff options
author | Tom Cherry <tomcherry@google.com> | 2020-07-17 17:30:01 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-07-17 17:30:01 +0000 |
commit | e781da96b51abdce32e8795dd2aca1de223b625e (patch) | |
tree | 00a3d40cff212d18c693e5dae05fa23afc0e174e /logd/SerializedLogChunk.cpp | |
parent | ce95e551045e0b391fa0aff35814c7ee8f2009ea (diff) | |
parent | e7e77f71c4de51d600f467be59e1d762a682149a (diff) |
Merge "logd: always compress SerializedLogChunk in FinishWriting()" am: aa0358b8fe am: e7e77f71c4
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1365225
Change-Id: I8e86c68e53270f411016e0a8489e0417334c09b7
Diffstat (limited to 'logd/SerializedLogChunk.cpp')
-rw-r--r-- | logd/SerializedLogChunk.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/logd/SerializedLogChunk.cpp b/logd/SerializedLogChunk.cpp index e444856a4..de641d62a 100644 --- a/logd/SerializedLogChunk.cpp +++ b/logd/SerializedLogChunk.cpp @@ -31,7 +31,6 @@ void SerializedLogChunk::Compress() { << " size used: " << write_offset_ << " compressed size: " << compressed_log_.size(); } - contents_.Resize(0); } // TODO: Develop a better reference counting strategy to guard against the case where the writer is @@ -44,13 +43,13 @@ void SerializedLogChunk::IncReaderRefCount() { CompressionEngine::GetInstance().Decompress(compressed_log_, contents_); } -void SerializedLogChunk::DecReaderRefCount(bool compress) { +void SerializedLogChunk::DecReaderRefCount() { CHECK_NE(reader_ref_count_, 0U); if (--reader_ref_count_ != 0) { return; } - if (compress && !writer_active_) { - Compress(); + if (!writer_active_) { + contents_.Resize(0); } } @@ -83,18 +82,19 @@ bool SerializedLogChunk::ClearUidLogs(uid_t uid, log_id_t log_id, LogStatistics* } if (new_write_offset == 0) { - DecReaderRefCount(false); + DecReaderRefCount(); return true; } - // Clear the old compressed logs and set write_offset_ appropriately for DecReaderRefCount() - // to compress the new partially cleared log. + // Clear the old compressed logs and set write_offset_ appropriately to compress the new + // partially cleared log. if (new_write_offset != write_offset_) { compressed_log_.Resize(0); write_offset_ = new_write_offset; + Compress(); } - DecReaderRefCount(true); + DecReaderRefCount(); return false; } |