diff options
| author | 2022-09-01 15:57:56 +0000 | |
|---|---|---|
| committer | 2022-09-01 15:57:56 +0000 | |
| commit | df2cbcdd1e689c7a051c04fcbccbb96588b4efdc (patch) | |
| tree | dd4f483aff50debe3a00c25d4c34162fe445ad45 | |
| parent | 1ccb47594110d15fdc26aad0861b096ce1c1f890 (diff) | |
| parent | b4d82e7245b3c8e5d90c60ac6299c176e4683340 (diff) | |
Merge "Resolve the deadlock caused by unfreezeProcess()."
| -rw-r--r-- | services/core/java/com/android/server/am/CachedAppOptimizer.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index 653b6026944b..55fc6c559d91 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -1351,7 +1351,18 @@ public final class CachedAppOptimizer { return; } Slog.d(TAG_AM, "quick sync unfreeze " + pid); - unfreezeAppLSP(app, reason); + try { + freezeBinder(pid, false); + } catch (RuntimeException e) { + Slog.e(TAG_AM, "Unable to quick unfreeze binder for " + pid); + return; + } + + try { + Process.setProcessFrozen(pid, app.uid, false); + } catch (Exception e) { + Slog.e(TAG_AM, "Unable to quick unfreeze " + pid); + } } } |