SIGTSTP and select

Bob Rossi
Fri Apr 13 15:15:00 GMT 2007

On Fri, Apr 13, 2007 at 11:03:56AM -0400, Christopher Faylor wrote:
> >Ok, there's a difference between tty and notty mode here.  I can
> >reproduce this with notty, while I get a -1/EINTR with CYGWIN=tty. 
> >This is a bit unfortunate difference which is probably a result of
> >different handling of console handles (notty) vs. pipe handles (tty).
> >I'm not sure how to fix that.  Signals and select are rather Chris'
> >contruction lot.
> I'm not in a position to test this right now but, if cygwin is in
> blocking mode, i.e., select is in an infinite wait, it should be
> possible to use CTRL-Z to suspend it.  I will look into this once I have
> my computers put back together.

OK, thank you. The test case easily reproduces this behavior.

What I'm really wondering is if I should hold up a release of cgdb over
this. I could do one of several things
  - wait to do a release until select is changed
  - tell the user to use CYGWIN=tty if they want to do ctrl-z
  - add my hack to fix this problem with the way things are

> >The restart behaviour as you observed on Linux is not implemented for
> >select in Cygwin so far.  Only a few system calls actually implement
> >this right now.  You should always handle EINTR yourself, as your loop
> >already does.
> >
> >While that's not a nice solution in the long run, it might be better
> >to ask the use to run cgdb with CYGWIN=tty for now (which is default
> >in remote sessions, that's why I couldn't reproduce anything first).
> >You could for instance add a cgdb wrapper script which always adds tty
> >to $CYGWIN and starts the cgdb binary.
> Or start gdb in a pty.

Sorry, I'm not sure what you mean. If you are talking about the way cgdb
starts gdb, yes, it uses a pty.

However, the test case reproduces all of this without gdb being involved 
at all.

Thanks again,
Bob Rossi

Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list