* DevNotes: Add entry cgf-000022.
* cygtls.h (_cygtls::func): Define as a sa_sigaction style function. * exceptions.cc (sig_handle_tty_stop): Ditto. (_cygtls::interrupt_setup): Fix coercion to accommodate 'func' change. (ctrl_c_handler): Use tty kill_pgrp to send a signal. (sigpacket::process): Don't process sigflush here. (_cygtls::call_signal_handler): Reorganize to avoid a race. Always call sa_sigaction style function. * fhandler_termios.cc (is_flush_sig): Define new function. (tty_min::kill_pgrp): Handle tty flush when signal detected. (fhandler_termios::bg_check): Be slightly more paranoid about checking for valid tty. (fhandler_termios::sigflush): Don't flush unless tty owner. * fhandler_tty.cc (fhandler_pty_slave::ioctl): Use tty kill_pgrp to send signal. (fhandler_pty_master::ioctl): Ditto. * signal.cc (killsys): Delete definition. * sigproc.h (killsys): Delete declaration. * include/cygwin/signal.h (siginfo_t): Simplify union/struct nesting slightly. Implement mechanism to allow cygwin data passing.
This commit is contained in:
@@ -1053,7 +1053,7 @@ fhandler_pty_slave::ioctl (unsigned int cmd, void *arg)
|
||||
{
|
||||
get_ttyp ()->arg.winsize = *(struct winsize *) arg;
|
||||
get_ttyp ()->winsize = *(struct winsize *) arg;
|
||||
killsys (-get_ttyp ()->getpgid (), SIGWINCH);
|
||||
get_ttyp ()->kill_pgrp (SIGWINCH);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1425,7 +1425,7 @@ fhandler_pty_master::ioctl (unsigned int cmd, void *arg)
|
||||
|| get_ttyp ()->winsize.ws_col != ((struct winsize *) arg)->ws_col)
|
||||
{
|
||||
get_ttyp ()->winsize = *(struct winsize *) arg;
|
||||
killsys (-get_ttyp ()->getpgid (), SIGWINCH);
|
||||
get_ttyp ()->kill_pgrp (SIGWINCH);
|
||||
}
|
||||
break;
|
||||
case TIOCGPGRP:
|
||||
|
Reference in New Issue
Block a user