summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/pm/UserManagerService.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-08-22 16:45:47 -0700
committerAmith Yamasani <yamasani@google.com>2012-08-22 16:45:47 -0700
commit0cd867c83e726c88355375af4d14ee83f3339bbe (patch)
tree783c1e5ae594354f70da7cf525a8f53ddcba0648 /services/java/com/android/server/pm/UserManagerService.java
parent7e877fa00c6b093a0fe734e5d3bf23b5b2d6411e (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.java6
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