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]

Re: poll()/select() on a tty fd in a backgrounded process raises SIGTTIN


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.
> > 
> > Did you find out where it stops and do you have any ideas how we could
> > fix this?
> 
> Um.
> 
> 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...

This may be an (old) misunderstanding how that's supposed to work.

Just removing sounds a bit dangerous, but we can try it.  Maybe it
just isn't necessary, but we need to check if it doesn't break
something else.  Like, say, not stopping at all anymore...


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]