Merge "logd: prune maintain per-id watermark (part deux)"

This commit is contained in:
Mark Salyzyn 2016-01-20 00:50:10 +00:00 committed by Gerrit Code Review
commit 390100305b
1 changed files with 14 additions and 6 deletions

View File

@ -332,13 +332,21 @@ LogBufferElementCollection::iterator LogBuffer::erase(
}
}
bool setLast = mLastSet[id] && (it == mLast[id]);
bool setLast[LOG_ID_MAX];
bool doSetLast = false;
log_id_for_each(i) {
doSetLast |= setLast[i] = mLastSet[i] && (it == mLast[i]);
}
it = mLogElements.erase(it);
if (setLast) {
if (it == mLogElements.end()) { // unlikely
mLastSet[id] = false;
} else {
mLast[id] = it;
if (doSetLast) {
log_id_for_each(i) {
if (setLast[i]) {
if (it == mLogElements.end()) { // unlikely
mLastSet[i] = false;
} else {
mLast[i] = it;
}
}
}
}
if (coalesce) {