diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2026-04-08 05:29:08 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-08 05:29:08 +0800 |
| commit | 5d66ef188fd034b6342c4146e9bbb10fdc4a8643 (patch) | |
| tree | 600a1f8ab212f952a51ffcf126685230649383af /test/functional/vimscript/executable_spec.lua | |
| parent | 7fff91359e4934fa3dc4eb298892f3c1bebf5e05 (diff) | |
| download | rneovim-5d66ef188fd034b6342c4146e9bbb10fdc4a8643.tar.gz rneovim-5d66ef188fd034b6342c4146e9bbb10fdc4a8643.tar.bz2 rneovim-5d66ef188fd034b6342c4146e9bbb10fdc4a8643.zip | |
fix(rpc): trigger UILeave earlier on channel close (#38846)
Problem:
On exit, rpc_free() is called when processing main_loop.events after
libuv calls close callbacks of the channel's stream. However, when there
are no child processes, these libuv callbacks are called in loop_close()
instead of proc_teardown(), and main_loop.events isn't processed after
loop_close(). As a result, calling remote_ui_disconnect() in rpc_free()
causes UILeave to depend on the presence of child processes.
Solution:
Always call remote_ui_disconnect() in rpc_close_event(), and remove the
call in rpc_free().
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions