Hi Michael,

Thanks for the report.

On Wed, 2 Oct 2019 16:03:53 +0200
Michael Haubenwallner wrote:
> * I'm logged into some Server 2012r2 box via Cygwin sshd from Linux xterm,
> * export EDITOR=vim     # but same problem with EDITOR=emacs
> * cd to some git project
> * git rebase -i HEAD^
> * Ctrl-Z, to temporarily return to shell prompt
> 
> Both the editor and the git processes seem to be suspended, but the
> shell does not react nor show the prompt in any way, although further
> keyboard input characters are displayed.

I looked into this problem, and found this caused by the following
change.

> diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
> index 848f9bd68..db0fe0867 100644
> --- a/winsup/cygwin/exceptions.cc
> +++ b/winsup/cygwin/exceptions.cc
> @@ -949,7 +949,7 @@ _cygtls::interrupt_setup (siginfo_t& si, void *handler, 
> struct sigaction& siga)
>    if (incyg)
>      set_signal_arrived ();
>  
> -  if (!have_execed)
> +  if (!have_execed && ch_spawn.iscygwin ())
>      proc_subproc (PROC_CLEARWAIT, 1);
>    sigproc_printf ("armed signal_arrived %p, signal %d",
>                 signal_arrived, si.si_signo);

The cause is that iscygwin() returns false even if the process
is cygwin process, contrary to my expectation. However, it is
natural if I think well.

I have just submitted a patch for this issue.

-- 
Takashi Yano <takashi.y...@nifty.ne.jp>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to