SIGTSTP and select

Christopher Faylor
Fri Apr 13 19:02:00 GMT 2007

On Fri, Apr 13, 2007 at 11:15:21AM -0400, Bob Rossi wrote:
>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

We have no plans on releasing a new version of Cygwin anytime soon.

>> >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.

CTRL-Z works in a pty.  There is no difference between running under a pty
or running with CYGWIN=tty.


Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list