mirror of
https://github.com/neovim/neovim.git
synced 2025-10-09 03:16:31 +00:00
fix(exit): skip unnecessary steps in TUI preserve_exit() (#21897)
This prevents the TUI from doing unexpected things when receiving a deadly signal or running out of memory.
This commit is contained in:
@@ -811,6 +811,11 @@ void preserve_exit(void)
|
||||
really_exiting = true;
|
||||
// Ignore SIGHUP while we are already exiting. #9274
|
||||
signal_reject_deadly();
|
||||
|
||||
if (ui_client_channel_id) {
|
||||
os_exit(1);
|
||||
}
|
||||
|
||||
os_errmsg(IObuff);
|
||||
os_errmsg("\n");
|
||||
ui_flush();
|
||||
|
@@ -458,6 +458,9 @@ static void tui_terminal_stop(TUIData *tui)
|
||||
|
||||
void tui_stop(TUIData *tui)
|
||||
{
|
||||
if (tui->stopped) {
|
||||
return;
|
||||
}
|
||||
tui_terminal_stop(tui);
|
||||
stream_set_blocking(tui->input.in_fd, true); // normalize stream (#2598)
|
||||
tinput_destroy(&tui->input);
|
||||
|
Reference in New Issue
Block a user