Excessive battery usage fix.
Using wake to forcefully wake up the looper instead of 1s timeout. Bug: 168156055 Test: atest ApkVerityTest:com.android.apkverity.ApkVerityTest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest ChecksumsTest Change-Id: If65f65f9214b34bf057ed5f1877348d835251d14
This commit is contained in:
@@ -306,6 +306,7 @@ IncrementalService::~IncrementalService() {
|
||||
}
|
||||
mJobCondition.notify_all();
|
||||
mJobProcessor.join();
|
||||
mLooper->wake();
|
||||
mCmdLooperThread.join();
|
||||
mTimedQueue->stop();
|
||||
// Ensure that mounts are destroyed while the service is still valid.
|
||||
@@ -1378,7 +1379,7 @@ bool IncrementalService::mountExistingImage(std::string_view root) {
|
||||
}
|
||||
|
||||
void IncrementalService::runCmdLooper() {
|
||||
constexpr auto kTimeoutMsecs = 1000;
|
||||
constexpr auto kTimeoutMsecs = -1;
|
||||
while (mRunning.load(std::memory_order_relaxed)) {
|
||||
mLooper->pollAll(kTimeoutMsecs);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user