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:[EMAIL PROTECTED] 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/