From b65a77f7b5f22e9e4d7ae26b2f8e39c05ddd6622 Mon Sep 17 00:00:00 2001 From: Alex Buynytskyy Date: Tue, 22 Sep 2020 11:39:53 -0700 Subject: 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 --- services/incremental/IncrementalService.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'services/incremental/IncrementalService.cpp') diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp index 44a07a17824f..e8bf468f032e 100644 --- a/services/incremental/IncrementalService.cpp +++ b/services/incremental/IncrementalService.cpp @@ -308,6 +308,7 @@ IncrementalService::~IncrementalService() { } mJobCondition.notify_all(); mJobProcessor.join(); + mLooper->wake(); mCmdLooperThread.join(); mTimedQueue->stop(); mProgressUpdateJobQueue->stop(); @@ -1386,7 +1387,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); } -- cgit v1.2.3-59-g8ed1b