Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 666deabe authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix thread safety issue on clearing cache" into rvc-qpr-dev

parents 68feffb9 db097214
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -334,6 +334,7 @@ void StatsPullerManager::OnAlarmFired(int64_t elapsedTimeNs) {
}
}


int StatsPullerManager::ForceClearPullerCache() {
int StatsPullerManager::ForceClearPullerCache() {
    std::lock_guard<std::mutex> _l(mLock);
    int totalCleared = 0;
    int totalCleared = 0;
    for (const auto& pulledAtom : kAllPullAtomInfo) {
    for (const auto& pulledAtom : kAllPullAtomInfo) {
        totalCleared += pulledAtom.second->ForceClearCache();
        totalCleared += pulledAtom.second->ForceClearCache();
@@ -342,6 +343,7 @@ int StatsPullerManager::ForceClearPullerCache() {
}
}


int StatsPullerManager::ClearPullerCacheIfNecessary(int64_t timestampNs) {
int StatsPullerManager::ClearPullerCacheIfNecessary(int64_t timestampNs) {
    std::lock_guard<std::mutex> _l(mLock);
    int totalCleared = 0;
    int totalCleared = 0;
    for (const auto& pulledAtom : kAllPullAtomInfo) {
    for (const auto& pulledAtom : kAllPullAtomInfo) {
        totalCleared += pulledAtom.second->ClearCacheIfNecessary(timestampNs);
        totalCleared += pulledAtom.second->ClearCacheIfNecessary(timestampNs);