mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 10:44:41 +00:00
Decrement size of pending write queue by correct amount
The pending write events vector is destructed before using its size to decrement the number of events on the pending write events queue which may cause the value decrement by 0 instead of the actual number of events removed. Bug: 147686560 Test: Build and load onto device with fake subhals Change-Id: I7b6c6231eacfa89b0dd55bc405b235d34be5ff46
This commit is contained in:
@@ -486,15 +486,14 @@ void HalProxy::handlePendingWrites() {
|
||||
}
|
||||
}
|
||||
lock.lock();
|
||||
mSizePendingWriteEventsQueue -= numToWrite;
|
||||
if (pendingWriteEvents.size() > eventQueueSize) {
|
||||
// TODO(b/143302327): Check if this erase operation is too inefficient. It will copy
|
||||
// all the events ahead of it down to fill gap off array at front after the erase.
|
||||
pendingWriteEvents.erase(pendingWriteEvents.begin(),
|
||||
pendingWriteEvents.begin() + eventQueueSize);
|
||||
mSizePendingWriteEventsQueue -= eventQueueSize;
|
||||
} else {
|
||||
mPendingWriteEventsQueue.pop();
|
||||
mSizePendingWriteEventsQueue -= pendingWriteEvents.size();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user