From 0c8360236a46b2178c011bd602c6952dd1482efd Mon Sep 17 00:00:00 2001 From: Tom Cherry Date: Wed, 5 Aug 2020 12:14:45 -0700 Subject: Query log size properties only within logd liblog exposed __android_logger_get_buffer_size() which queries log size properties, but that should not be a generic library function. Logd should be the only process that queries these properties and other processes should query the actual used log sizes from logd via the android_logger_get_log_*_size() functions. Also, always use 1MB for log buffer tests, instead of just on host and various other clean up related to improper types. Test: log buffers are correctly sized Change-Id: I9b7c86bf58e569618737afe9097cf1c4d4e61d95 --- logd/SimpleLogBuffer.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'logd/SimpleLogBuffer.cpp') diff --git a/logd/SimpleLogBuffer.cpp b/logd/SimpleLogBuffer.cpp index ec08d54d4..b00dd25be 100644 --- a/logd/SimpleLogBuffer.cpp +++ b/logd/SimpleLogBuffer.cpp @@ -19,6 +19,7 @@ #include #include "LogBufferElement.h" +#include "LogSize.h" SimpleLogBuffer::SimpleLogBuffer(LogReaderList* reader_list, LogTags* tags, LogStatistics* stats) : reader_list_(reader_list), tags_(tags), stats_(stats) { @@ -29,8 +30,8 @@ SimpleLogBuffer::~SimpleLogBuffer() {} void SimpleLogBuffer::Init() { log_id_for_each(i) { - if (SetSize(i, __android_logger_get_buffer_size(i))) { - SetSize(i, LOG_BUFFER_MIN_SIZE); + if (!SetSize(i, GetBufferSizeFromProperties(i))) { + SetSize(i, kLogBufferMinSize); } } @@ -247,22 +248,22 @@ bool SimpleLogBuffer::Clear(log_id_t id, uid_t uid) { } // get the total space allocated to "id" -unsigned long SimpleLogBuffer::GetSize(log_id_t id) { +size_t SimpleLogBuffer::GetSize(log_id_t id) { auto lock = SharedLock{lock_}; size_t retval = max_size_[id]; return retval; } // set the total space allocated to "id" -int SimpleLogBuffer::SetSize(log_id_t id, unsigned long size) { +bool SimpleLogBuffer::SetSize(log_id_t id, size_t size) { // Reasonable limits ... - if (!__android_logger_valid_buffer_size(size)) { - return -1; + if (!IsValidBufferSize(size)) { + return false; } auto lock = std::lock_guard{lock_}; max_size_[id] = size; - return 0; + return true; } void SimpleLogBuffer::MaybePrune(log_id_t id) { -- cgit v1.2.3