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

Commit 169bd1f9 authored by TYM Tsai's avatar TYM Tsai Committed by Android (Google) Code Review
Browse files

Merge "Fix deadlock between PMS and UMS" into main

parents b0da02e2 2c90d6c9
Loading
Loading
Loading
Loading
+21 −20
Original line number Diff line number Diff line
@@ -4062,10 +4062,10 @@ public class PackageManagerService implements PackageSender, TestUtilityService
        final ArrayMap<String, ArrayList<String>> sendNowBroadcasts = new ArrayMap<>(targetSize);
        final List<PackageMetrics.ComponentStateMetrics> componentStateMetricsList =
                new ArrayList<PackageMetrics.ComponentStateMetrics>();
        synchronized (mLock) {
            Computer computer = snapshotComputer();
        boolean scheduleBroadcastMessage = false;
        boolean isSynchronous = false;
        synchronized (mLock) {
            Computer computer = snapshotComputer();
            boolean anyChanged = false;

            for (int i = 0; i < targetSize; i++) {
@@ -4116,9 +4116,11 @@ public class PackageManagerService implements PackageSender, TestUtilityService
                // nothing changed, return immediately
                return;
            }

        }
        if (isSynchronous) {
            synchronized (mLock) {
                flushPackageRestrictionsAsUserInternalLocked(userId);
            }
        } else {
            scheduleWritePackageRestrictions(userId);
        }
@@ -4137,7 +4139,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService
                        broadcastDelay);
            }
        }
        }

        // Log the metrics when the component state is changed.
        PackageMetrics.reportComponentStateChanged(snapshotComputer(), componentStateMetricsList,