Mail Archives: cygwin/2007/04/13/11:16:15
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: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -