Report errors from CtsTestServer for improved debugging
Switch from using ExecutionService.submit() to Executor.execute()
because the Future was never being checked. Switched to using
a Runnable, because no value is returned. Added logging for
any exception generated.
Bug: 21874093
(cherry-picked from commit a1811d4ec0cb3f8d5cdb8a9bf745cec4458f51c5)
Change-Id: I23d3a770929372e3b234a0c4577d519bfefdaacc
diff --git a/libs/testserver/src/android/webkit/cts/CtsTestServer.java b/libs/testserver/src/android/webkit/cts/CtsTestServer.java
index de8a30d..de88f3b 100644
--- a/libs/testserver/src/android/webkit/cts/CtsTestServer.java
+++ b/libs/testserver/src/android/webkit/cts/CtsTestServer.java
@@ -1032,7 +1032,7 @@
conn.receiveRequestEntity( (HttpEntityEnclosingRequest) request);
}
- mExecutorService.submit(new HandleResponseTask(conn, request));
+ mExecutorService.execute(new HandleResponseTask(conn, request));
} catch (IOException e) {
// normal during shutdown, ignore
Log.w(TAG, e);
@@ -1063,7 +1063,7 @@
return path.equals(SHUTDOWN_PREFIX);
}
- private class HandleResponseTask implements Callable<Void> {
+ private class HandleResponseTask implements Runnable {
private DefaultHttpServerConnection mConnection;
@@ -1076,12 +1076,15 @@
}
@Override
- public Void call() throws Exception {
- HttpResponse response = mServer.getResponse(mRequest);
- mConnection.sendResponseHeader(response);
- mConnection.sendResponseEntity(response);
- mConnection.close();
- return null;
+ public void run() {
+ try {
+ HttpResponse response = mServer.getResponse(mRequest);
+ mConnection.sendResponseHeader(response);
+ mConnection.sendResponseEntity(response);
+ mConnection.close();
+ } catch (Exception e) {
+ Log.e(TAG, "Error handling request:", e);
+ }
}
}
}