refactor(channel): eliminate special case in on_proc_exit() #32485

Problem:
on_proc_exit() has a special-case that assumes that the UI client will
never spawn more than 1 child process.

Solution:
If the Nvim server exits, the stream EOF will trigger `rpc_close()` in
the UI client, so we don't need the special case in `on_proc_exit`.
Pass `Channel.exit_status` from `rpc_close()` so that the correct exit
code is reflected.
This commit is contained in:
Justin M. Keyes
2025-02-17 02:26:19 -08:00
committed by GitHub
parent bd0a65bc15
commit b360c06085
3 changed files with 8 additions and 13 deletions

View File

@@ -40,7 +40,7 @@ struct Channel {
CallbackReader on_data;
CallbackReader on_stderr;
Callback on_exit;
int exit_status;
int exit_status; ///< Process exit-code (if the channel wraps a process).
bool callback_busy;
bool callback_scheduled;