VmLauncherService doesn't start a new thread for starting gRPC server
Bug: N/A
Test: Run terminal app
Change-Id: I14ccd46c6dac7fc554b4d5d8599d82bc41dc6e40
diff --git a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java
index f672b7b..b9ad4fb 100644
--- a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java
+++ b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java
@@ -171,34 +171,31 @@
return new ServerCall.Listener<ReqT>() {};
}
};
- new Thread(
- () -> {
- try {
- // TODO(b/372666638): gRPC for java doesn't support vsock for now.
- int port = 0;
- mServer =
- OkHttpServerBuilder.forPort(
- port, InsecureServerCredentials.create())
- .intercept(interceptor)
- .addService(new DebianServiceImpl(this))
- .build()
- .start();
+ try {
+ // TODO(b/372666638): gRPC for java doesn't support vsock for now.
+ int port = 0;
+ mServer =
+ OkHttpServerBuilder.forPort(port, InsecureServerCredentials.create())
+ .intercept(interceptor)
+ .addService(new DebianServiceImpl(this))
+ .build()
+ .start();
+ } catch (IOException e) {
+ Log.d(TAG, "grpc server error", e);
+ return;
+ }
- // TODO(b/373533555): we can use mDNS for that.
- String debianServicePortFileName = "debian_service_port";
- File debianServicePortFile =
- new File(getFilesDir(), debianServicePortFileName);
- try (FileOutputStream writer =
- new FileOutputStream(debianServicePortFile)) {
- writer.write(String.valueOf(mServer.getPort()).getBytes());
- } catch (IOException e) {
- Log.d(TAG, "cannot write grpc port number", e);
- }
- } catch (IOException e) {
- Log.d(TAG, "grpc server error", e);
- }
- })
- .start();
+ mExecutorService.execute(
+ () -> {
+ // TODO(b/373533555): we can use mDNS for that.
+ String debianServicePortFileName = "debian_service_port";
+ File debianServicePortFile = new File(getFilesDir(), debianServicePortFileName);
+ try (FileOutputStream writer = new FileOutputStream(debianServicePortFile)) {
+ writer.write(String.valueOf(mServer.getPort()).getBytes());
+ } catch (IOException e) {
+ Log.d(TAG, "cannot write grpc port number", e);
+ }
+ });
}
private void stopDebianServer() {