diff options
| author | 2016-06-08 13:45:47 +0900 | |
|---|---|---|
| committer | 2016-06-10 14:31:59 -0700 | |
| commit | 99bf020f707553601b4830aefe264d54d1f7fbfd (patch) | |
| tree | 613f37336da1f595753cec9f7fc0d71789391b17 | |
| parent | 22dec763a3392c7f2ace69934d3f8dcb62ba49f0 (diff) | |
Solve the infinite loop on clearExternalStorageDataSync
5000 msec timeout is set for waiting DefaultContainerService, but
it's not working. It's not possible to exit a wait loop even if it
takes over 5000 msec.
Bug: 29232999
Change-Id: I74a45637e0a3fa5a7b151e6b3dc0b3aaece96d53
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 27ca62af5955..a7bd4ab2f11d 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -16341,8 +16341,9 @@ public class PackageManagerService extends IPackageManager.Stub { for (int curUser : users) { long timeout = SystemClock.uptimeMillis() + 5000; synchronized (conn) { - long now = SystemClock.uptimeMillis(); - while (conn.mContainerService == null && now < timeout) { + long now; + while (conn.mContainerService == null && + (now = SystemClock.uptimeMillis()) < timeout) { try { conn.wait(timeout - now); } catch (InterruptedException e) { |