This is the mail archive of the cygwin-developers mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Jul 26 22:51, Jon Turney wrote: > On 25/07/2016 17:55, Corinna Vinschen wrote: > > On Jul 25 17:52, Jon Turney wrote: > > > > > This test case is reduced from a problem seen with gdb, since commit > > > > > 0b333c5e, where gdb stops with SIGTTIN when the inferior is started. > > > > [...] > > > gdb stops because a poll() on stdin (even when stdin is not ready to read) > > > while backgrounded causes a SIGTTIN to be raised. > > > > > > I think this caused by select.cc:peek_console/peek_pipe calling > > > fhandler_termios::bg_check(SIGTTIN). > > > > > > My idea for fixing it is to remove that behaviour from cygwin, assuming I'm > > > right in thinking that the behaviour is incorrect, although I'm wary of > > > touching something that's so old, and I don't understand why that call to > > > bg_check is in there at all... > > So, this is presumably so that the exception conditions which bg_check() > knows about make the fd ready, irrespective of if peeking it shows some > input. > [...] > Attached is the patch as discussed on IRC, with some additional commentary. > > After writing these comments, it's perhaps a bit clearer to me that > bg_check() could be re-written to take a bg_check_operation enum (read, > write, change_settings, peek), rather than trying to encode that operation > as a signal number, but that might be changing things too much. Jon, please don't hesitate to create a followup patch to clear things up. > Also, looking at the uses of bg_check(), it's odd that > handler_console::ioctl for TIOCSWINSZ calls bg_check (SIGTTOU), which should > probably be -SIGTTOU, otherwise a background process could resize a console > window without causing SIGTTOU. But then that operation doesn't seem to be > implemented for console, but is for ttys, but it doesn't use bg_check... Same here, if you have an improvement of this code, feel free. I wonder why we don't support a fully functional TIOCSWINSZ on consoles anyway. It shouldn't be that hard, should it? Basically a call to SetConsoleWindowInfo... Thanks for improving the comments. Please apply. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |