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

Commit 710a7acc authored by Sudheer Shanka's avatar Sudheer Shanka Committed by android-build-merger
Browse files

Fix deadlock in AcitivityManagerService. am: 67e05b4d am: 433a36e9

am: 6b2a372d

Change-Id: I5588d6f29331a355856500eda07d9ab9d2ad5876
parents d41769b9 6b2a372d
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -3779,16 +3779,19 @@ public final class ActivityManagerService extends ActivityManagerNative
            app.killed = false;
            app.killedByAm = false;
            checkTime(startTime, "startProcess: starting to update pids map");
            synchronized (mPidsSelfLocked) {
            ProcessRecord oldApp;
            synchronized (mPidsSelfLocked) {
                oldApp = mPidsSelfLocked.get(startResult.pid);
            }
            // If there is already an app occupying that pid that hasn't been cleaned up
                if ((oldApp = mPidsSelfLocked.get(startResult.pid)) != null && !app.isolated) {
            if (oldApp != null && !app.isolated) {
                // Clean up anything relating to this pid first
                Slog.w(TAG, "Reusing pid " + startResult.pid
                        + " while app is still mapped to it");
                cleanUpApplicationRecordLocked(oldApp, false, false, -1,
                        true /*replacingPid*/);
            }
            synchronized (mPidsSelfLocked) {
                this.mPidsSelfLocked.put(startResult.pid, app);
                if (isActivityProcess) {
                    Message msg = mHandler.obtainMessage(PROC_START_TIMEOUT_MSG);