diff options
author | Christopher Faylor <me@cgf.cx> | 2012-08-17 15:56:05 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-08-17 15:56:05 +0000 |
commit | 23338be7f57c46291435742bc8a58f8f4d5898fb (patch) | |
tree | 8b113f69b919312d06534cd61f80b5de85aa1cb6 /winsup/cygwin/exceptions.cc | |
parent | 74d1d0ee8047aafe4f24ef19f009145bc64ea1c5 (diff) | |
download | cygnal-23338be7f57c46291435742bc8a58f8f4d5898fb.tar.gz cygnal-23338be7f57c46291435742bc8a58f8f4d5898fb.tar.bz2 cygnal-23338be7f57c46291435742bc8a58f8f4d5898fb.zip |
* exceptions.cc (sig_handle_tty_stop): Clear tls sig field.
(sigpacket::process): When continuing, set tls->sig before arming
signal_arrived.
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 6 |
1 files changed, 5 insertions, 1 deletions
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; |