summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2020-05-29 13:41:18 -0700
committerRoshan Pius <rpius@google.com>2020-05-29 13:41:18 -0700
commit7cf18381fa2099230c49269a435090115b7e633b (patch)
tree40d27569a0ca42c1bf54ffc11b26fc9d6254bfc6 /service
parentec1025373054e637e3b0e4e25ecafb18a4086e29 (diff)
WifiDiagnostics: Add a timeout for logcat calls
The logcat shell command currently blocks forever if something is wrong. Add a timeout to error out after 500 ms. Bug: 157062041 Test: Verified that WifiDiagnostics dump is not broken. Change-Id: Id67082c5fedf259790950acbffa41cfb042c415a
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiDiagnostics.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiDiagnostics.java b/service/java/com/android/server/wifi/WifiDiagnostics.java
index 4ac982063..2ba90c968 100644
--- a/service/java/com/android/server/wifi/WifiDiagnostics.java
+++ b/service/java/com/android/server/wifi/WifiDiagnostics.java
@@ -44,6 +44,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Set;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.zip.Deflater;
@@ -107,6 +108,9 @@ class WifiDiagnostics extends BaseWifiDiagnostics {
/** Minimum dump period with same error code */
public static final long MIN_DUMP_TIME_WINDOW_MILLIS = 10 * 60 * 1000; // 10 mins
+ // Timeout for logcat
+ private static final int LOGCAT_TIMEOUT_MILLIS = 500;
+
private long mLastBugReportTime;
@VisibleForTesting public static final String FIRMWARE_DUMP_SECTION_HEADER =
@@ -720,7 +724,7 @@ class WifiDiagnostics extends BaseWifiDiagnostics {
while ((line = reader.readLine()) != null) {
lines.add(line);
}
- process.waitFor();
+ process.waitFor(LOGCAT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
} catch (InterruptedException|IOException e) {
mLog.dump("Exception while capturing logcat: %").c(e.toString()).flush();
}