diff options
author | Steve Kondik <steve@cyngn.com> | 2016-07-27 17:36:47 -0700 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2016-07-27 18:16:21 -0700 |
commit | 0af85965c8a5fbe9066177152e746c90d0d7d8a6 (patch) | |
tree | a649f7f5a1824a64a264d52b1fe18a731ca94fda /services/core | |
parent | 0942a4a56f4ed7457aae76dce3dc43faf5e81cec (diff) | |
download | frameworks_base-0af85965c8a5fbe9066177152e746c90d0d7d8a6.zip frameworks_base-0af85965c8a5fbe9066177152e746c90d0d7d8a6.tar.gz frameworks_base-0af85965c8a5fbe9066177152e746c90d0d7d8a6.tar.bz2 |
mountservice: Shut down volumes before restarting framework
* Vold assumes that when FUSE is killed, the mount is gone. This
isn't true with sdcardfs, since the daemon doesn't continue
to run. Cryptfs was assuming this behavior, and the system would
hang during decryption since the emulated storage doesn't get
unmounted.
* Send the shutdown command before committing suicide.
Change-Id: Ifcfa63f0499a717f34482754cea95b90622290c6
Diffstat (limited to 'services/core')
-rw-r--r-- | services/core/java/com/android/server/MountService.java | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 68bd065..41c5301 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -2393,6 +2393,7 @@ class MountService extends IMountService.Stub mHandler.postDelayed(new Runnable() { public void run() { try { + mConnector.execute("volume", "shutdown"); mCryptConnector.execute("cryptfs", "restart"); } catch (NativeDaemonConnectorException e) { Slog.e(TAG, "problem executing in background", e); |