Cygwin: pty: Fix deadlock caused by Ctrl-C in setup_pseudoconsole().

- If Ctrl-C is pressed just after setup_pseudoconsole() is called,
  mintty stops to respond a while when CPU load is high. This patch
  fixes the issue.

Addresses: https://cygwin.com/pipermail/cygwin/2022-April/251272.html
This commit is contained in:
Takashi Yano 2022-04-18 19:56:14 +09:00
parent 8b9e3ac408
commit cb77d244b8
1 changed files with 4 additions and 0 deletions

View File

@ -679,8 +679,12 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
HANDLE h_stdin = handle (fileno_stdin, false);
if (h_stdin == ptys_primary->get_handle_nat ())
stdin_is_ptys = true;
if (reset_sendsig)
myself->sendsig = myself->exec_sendsig;
ptys_primary->setup_for_non_cygwin_app (nopcon, envblock,
stdin_is_ptys);
if (reset_sendsig)
myself->sendsig = NULL;
ptys_primary->get_duplicated_handle_set (&ptys_handle_set);
ptys_ttyp = (tty *) ptys_primary->tc ();
ptys_need_cleanup = true;