From ee065595738808c634d2d7c628065f2613bc73bc Mon Sep 17 00:00:00 2001 From: Daniel Toyama Date: Wed, 20 May 2026 00:29:10 -0700 Subject: [PATCH] Refactor emulator shutdown cleanup to close output streams independently of the process handle, preventing file descriptor leaks on launch failures. PiperOrigin-RevId: 918272335 --- .../components/simulators/emulator/emulator_launcher.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/android_env/components/simulators/emulator/emulator_launcher.py b/android_env/components/simulators/emulator/emulator_launcher.py index 10f01d28..bca135b4 100644 --- a/android_env/components/simulators/emulator/emulator_launcher.py +++ b/android_env/components/simulators/emulator/emulator_launcher.py @@ -155,8 +155,11 @@ def confirm_shutdown(self) -> None: self._emulator.returncode) self._emulator.kill() self._emulator = None + + if self._emulator_output is not None: self._emulator_output.close() - logging.info('The emulator process has finished.') + self._emulator_output = None + logging.info('The emulator process has finished.') def close(self): """Clean up launcher files and processes."""