From 23338be7f57c46291435742bc8a58f8f4d5898fb Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 17 Aug 2012 15:56:05 +0000 Subject: * exceptions.cc (sig_handle_tty_stop): Clear tls sig field. (sigpacket::process): When continuing, set tls->sig before arming signal_arrived. --- winsup/cygwin/exceptions.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/exceptions.cc') diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 35b119e9f..fe5010ee1 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -743,6 +743,7 @@ sig_handle_tty_stop (int sig) switch (res) { case WAIT_SIGNALED: + _my_tls.sig = 0; myself->stopsig = SIGCONT; myself->alert_parent (SIGCONT); break; @@ -1242,7 +1243,10 @@ dosig: done: if (continue_now) - SetEvent (tls->signal_arrived); + { + tls->sig = SIGCONT; + SetEvent (tls->signal_arrived); + } sigproc_printf ("returning %d", rc); return rc; -- cgit v1.2.3