summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Irfan Sheriff <isheriff@google.com> 2011-01-16 14:31:55 -0800
committer Irfan Sheriff <isheriff@google.com> 2011-01-16 14:31:55 -0800
commit1cd94ef9570a1534e32b27d5b174dc690c9be6b9 (patch)
tree63b297f5fef33ff5627fb717a5fa1da5e4c5725e
parentb73203ab7e308b747819de2b2400afe971ef3bff (diff)
Do not add unsolicited events to queue
Adding unsolicited events to response queue results in doCommand() returning the wrong result. Pulling this change from master. Bug: 3258529 Change-Id: I2a4b0bd8bb30b31682d7d61ee94a0d246bf10de2
-rw-r--r--services/java/com/android/server/NativeDaemonConnector.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/services/java/com/android/server/NativeDaemonConnector.java b/services/java/com/android/server/NativeDaemonConnector.java
index 7b68d68ddf7d..cf87a9d3937e 100644
--- a/services/java/com/android/server/NativeDaemonConnector.java
+++ b/services/java/com/android/server/NativeDaemonConnector.java
@@ -132,11 +132,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));
@@ -219,6 +220,7 @@ final class NativeDaemonConnector implements Runnable {
*/
public synchronized ArrayList<String> doCommand(String cmd)
throws NativeDaemonConnectorException {
+ mResponseQueue.clear();
sendCommand(cmd);
ArrayList<String> response = new ArrayList<String>();