From 0cd867c83e726c88355375af4d14ee83f3339bbe Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Wed, 22 Aug 2012 16:45:47 -0700 Subject: [PATCH] Fix deadlock in removing a user Cleanup PackageManager settings after the package directories are removed. Change-Id: I264bc95ea21da653a234d7c81df5b25d4de7aa9e --- services/java/com/android/server/pm/UserManagerService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/pm/UserManagerService.java b/services/java/com/android/server/pm/UserManagerService.java index c292bbcfadedb..b13bb681598fd 100644 --- a/services/java/com/android/server/pm/UserManagerService.java +++ b/services/java/com/android/server/pm/UserManagerService.java @@ -523,6 +523,10 @@ public class UserManagerService extends IUserManager.Stub { synchronized (mUsers) { result = removeUserLocked(userHandle); } + + // Cleanup package manager settings + mPm.cleanUpUser(userHandle); + // Let other services shutdown any activity Intent addedIntent = new Intent(Intent.ACTION_USER_REMOVED); addedIntent.putExtra(Intent.EXTRA_USER_HANDLE, userHandle); @@ -555,8 +559,6 @@ public class UserManagerService extends IUserManager.Stub { return false; } - mPm.cleanUpUser(userHandle); - // Remove this user from the list mUsers.remove(userHandle); // Remove user file