* exceptions.cc (sig_handle_tty_stop): Set flag that we are in a cygwin

function to avoid a probably erroneous stack walk.
This commit is contained in:
Christopher Faylor 2004-09-20 04:58:36 +00:00
parent f777a1d054
commit e58412a2a0
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2004-09-20 Christopher Faylor <cgf@timesys.com>
* exceptions.cc (sig_handle_tty_stop): Set flag that we are in a cygwin
function to avoid a probably erroneous stack walk.
2004-09-17 Corinna Vinschen <corinna@vinschen.de>
* syscalls.cc (unlink): Don't use "delete on close" on remote shares.

View File

@ -593,7 +593,7 @@ extern "C" {
static void
sig_handle_tty_stop (int sig)
{
/* Silently ignore attempts to suspend if there is no accomodating
/* Silently ignore attempts to suspend if there is no accommodating
cygwin parent to deal with this behavior. */
if (!myself->ppid_handle)
{
@ -623,6 +623,7 @@ sig_handle_tty_stop (int sig)
HANDLE w4[2];
w4[0] = sigCONT;
w4[1] = signal_arrived;
_my_tls.incyg = 1;
switch (WaitForMultipleObjects (2, w4, TRUE, INFINITE))
{
case WAIT_OBJECT_0:
@ -633,6 +634,7 @@ sig_handle_tty_stop (int sig)
api_fatal ("WaitSingleObject failed, %E");
break;
}
_my_tls.incyg = 0;
return;
}
}

View File

@ -1182,6 +1182,8 @@ wait_sig (VOID *self)
else
{
int sig = pack.si.si_signo;
// FIXME: Not quite right when taking threads into consideration.
// Do we need a per-thread queue?
if (sigq.sigs[sig].si.si_signo)
sigproc_printf ("sig %d already queued", pack.si.si_signo);
else