fix(cli): close daemon stdin to release terminal on shell exit (#5228)
The host daemon inherited stdin from the spawning shell, holding an open fd to the pseudo-terminal (/dev/pts/N). Even with start_new_session=True, the shell blocks on exit until all processes with that fd close it — so users running 'isaac omni codex' in arca were forced to manually kill the daemon before they could exit. Passing stdin=subprocess.DEVNULL redirects the daemon's stdin to /dev/null at spawn time, releasing the terminal fd immediately. Fixes OMNI-3274. Signed-off-by: Tomu Hirata <tomu.hirata@gmail.com>
This commit is contained in:
@@ -2980,6 +2980,7 @@ def _spawn_host_daemon_process(
|
||||
proc = subprocess.Popen(
|
||||
args,
|
||||
env=env,
|
||||
stdin=subprocess.DEVNULL,
|
||||
stdout=log_fh,
|
||||
stderr=log_fh,
|
||||
**_proc.spawn_kwargs(),
|
||||
|
||||
Reference in New Issue
Block a user