aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/range.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2026-08-19 13:03:01 +0200
committerJustin M. Keyes <justinkz@gmail.com>2026-08-19 15:46:58 +0200
commit5b1c21f4b89f9afdabf524e55887a9c1c0052069 (patch)
treededf48f0eeb193d7c13d16fa46784131d17a7559 /runtime/lua/vim/range.lua
parent9bd18d04f13c999b0fe76222edce376e78d0f0e3 (diff)
downloadrneovim-5b1c21f4b89f9afdabf524e55887a9c1c0052069.tar.gz
rneovim-5b1c21f4b89f9afdabf524e55887a9c1c0052069.tar.bz2
rneovim-5b1c21f4b89f9afdabf524e55887a9c1c0052069.zip
fix(lifecycle): late signal kills Nvim mid-teardown
Problem: A deadly signal arriving during teardown can kill Nvim while it is preserving swapfiles. `os_exit()` ignores deadly signals via `signal_reject_deadly()`, but `signal_teardown()` => `uv_signal_stop()` resets them to the default behavior, so SIGHUP arriving after that kills the process: [Process exited 129] // 128 + SIGHUP This is a race when closing a pty: kernel sends SIGHUP to foreground process group *and* the reads return EOF, so `chanclose()` on a TUI job prepares to exit twice. This means it is unpredictable whether Nvim exits 1 or is terminated. Solution: Ignore deadly signals once the watchers are closed. Only SIGKILL interrupts it now.
Diffstat (limited to 'runtime/lua/vim/range.lua')
0 files changed, 0 insertions, 0 deletions