SIGTSTP and select
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: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
More information about the Cygwin