diff options
author | nadlabak <pavel@doshaska.net> | 2010-11-18 15:31:45 -0800 |
---|---|---|
committer | nadlabak <pavel@doshaska.net> | 2010-11-18 15:31:45 -0800 |
commit | adb69034bc4244b61b9cd4a6a3a32f8f90aad1d5 (patch) | |
tree | 12075297893462d52f109fac5fb004ec76dd244e /services/java/com/android/server | |
parent | 1f63c7ec17aa0bdfb1ece696d9b757d4f007ae3a (diff) | |
download | frameworks_base-adb69034bc4244b61b9cd4a6a3a32f8f90aad1d5.zip frameworks_base-adb69034bc4244b61b9cd4a6a3a32f8f90aad1d5.tar.gz frameworks_base-adb69034bc4244b61b9cd4a6a3a32f8f90aad1d5.tar.bz2 |
Unsolicited informational event should not be put in the response queue. It can break e.g. the reading of the asec list returned from vold - package manager then assumes no secure containers on sdcard, which can result in system_server being killed by vold during sdcard unmount, in case it keeps a recently run pkg.apk file in an asec opened.
Change-Id: I068d8ef8cd244fde03f08b1f6b3f920eb9135aaf
Diffstat (limited to 'services/java/com/android/server')
-rw-r--r-- | services/java/com/android/server/NativeDaemonConnector.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/services/java/com/android/server/NativeDaemonConnector.java b/services/java/com/android/server/NativeDaemonConnector.java index e269df5..7f0c4f2 100644 --- a/services/java/com/android/server/NativeDaemonConnector.java +++ b/services/java/com/android/server/NativeDaemonConnector.java @@ -129,11 +129,12 @@ final class NativeDaemonConnector implements Runnable { Slog.e(TAG, String.format( "Error handling '%s'", event), ex); } - } - try { - mResponseQueue.put(event); - } catch (InterruptedException ex) { - Slog.e(TAG, "Failed to put response onto queue", ex); + } else { + try { + mResponseQueue.put(event); + } catch (InterruptedException ex) { + Slog.e(TAG, "Failed to put response onto queue", ex); + } } } catch (NumberFormatException nfe) { Slog.w(TAG, String.format("Bad msg (%s)", event)); |