Mail Archives: cygwin/2002/03/15/16:20:11
On Fri, Mar 15, 2002 at 03:01:21PM -0500, Jason Tishler wrote:
> On Thu, Mar 14, 2002 at 01:15:54PM +0100, Corinna Vinschen wrote:
> > Thanks for the patch. I've applied it with some changes.
>
> I was concerned when I first saw this patch. Unfortunately, I just
> tried it and my concerns were realized.
>
> This patch causes poll() to hang again when only an invalid file
> descriptor is specified. See the following for a test case:
>
> http://sources.redhat.com/ml/cygwin-patches/2001-q3/msg00109.html
>
> Please revert this patch or modify it so that poll() does not hang.
I don't think reverting is the way to go. One of the problems
was that cygwin_select isn't called at all if all fd's are
invalid, even if a timeout value is given. Boris patch fixed
that. Unfortunately the problem you're describing is a border
case which wasn't handled correctly by your patch as well, AFAICS.
The correct solution would be to return immediately (aka
cygwin_select isn't called) only if all fd's are invalid AND
the timeout value is set to INFINITE (-1).
Unfortunately SUSv2 doesn't handle that special case. That's
a pity.
However, we could revert to handle invalid_fds again and then call
cygwin_select only if timeout != -1.
Comments? Boris? Jason? Anybody else?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin AT cygwin DOT com
Red Hat, Inc.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -