Merge "DO NOT MERGE: Fix deadlock in AcitivityManagerService." into lmp-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b358ee3558
@@ -3256,16 +3256,19 @@ public final class ActivityManagerService extends ActivityManagerNative
|
||||
app.killed = false;
|
||||
app.killedByAm = false;
|
||||
checkTime(startTime, "startProcess: starting to update pids map");
|
||||
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 != 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) {
|
||||
ProcessRecord oldApp;
|
||||
// If there is already an app occupying that pid that hasn't been cleaned up
|
||||
if ((oldApp = mPidsSelfLocked.get(startResult.pid)) != 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*/);
|
||||
}
|
||||
this.mPidsSelfLocked.put(startResult.pid, app);
|
||||
if (isActivityProcess) {
|
||||
Message msg = mHandler.obtainMessage(PROC_START_TIMEOUT_MSG);
|
||||
|
||||
Reference in New Issue
Block a user