diff options
author | Amith Yamasani <yamasani@google.com> | 2012-08-22 16:45:47 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2012-08-22 16:45:47 -0700 |
commit | 0cd867c83e726c88355375af4d14ee83f3339bbe (patch) | |
tree | 783c1e5ae594354f70da7cf525a8f53ddcba0648 /services/java/com/android/server/pm/UserManagerService.java | |
parent | 7e877fa00c6b093a0fe734e5d3bf23b5b2d6411e (diff) |
Fix deadlock in removing a user
Cleanup PackageManager settings after the package directories are removed.
Change-Id: I264bc95ea21da653a234d7c81df5b25d4de7aa9e
Diffstat (limited to 'services/java/com/android/server/pm/UserManagerService.java')
-rw-r--r-- | services/java/com/android/server/pm/UserManagerService.java | 6 |
1 files 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 c292bbcfaded..b13bb681598f 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 |