Cygwin: pty: Fix Ctrl-C handling for non-cygwin apps in background.
- With pseudo console enabled, if the non-cygwin app is started in the background and put it into the foreground, the process cannot be stopped by Ctrl-C. This patch fixes the issue.
This commit is contained in:
parent
acc44e09d1
commit
e91ea41ef1
winsup/cygwin
|
@ -2249,9 +2249,12 @@ fhandler_pty_master::write (const void *ptr, size_t len)
|
||||||
&mbp);
|
&mbp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ti.c_lflag & ISIG) && !(ti.c_lflag & NOFLSH)
|
if ((ti.c_lflag & ISIG) && memchr (buf, '\003', nlen))
|
||||||
&& memchr (buf, '\003', nlen))
|
{
|
||||||
get_ttyp ()->discard_input = true;
|
get_ttyp ()->kill_pgrp (SIGINT);
|
||||||
|
if (!(ti.c_lflag & NOFLSH))
|
||||||
|
get_ttyp ()->discard_input = true;
|
||||||
|
}
|
||||||
DWORD n;
|
DWORD n;
|
||||||
WriteFile (to_slave_nat, buf, nlen, &n, NULL);
|
WriteFile (to_slave_nat, buf, nlen, &n, NULL);
|
||||||
ReleaseMutex (input_mutex);
|
ReleaseMutex (input_mutex);
|
||||||
|
|
Loading…
Reference in New Issue