Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3EE10600.2020004@ixiacom.com> Date: Fri, 06 Jun 2003 14:22:08 -0700 From: Dan Kegel User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020615 Debian/1.0.0-3 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: 1.3.22: bug in poll() - WinXP/all Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit On Apr 15, Corinna Vinschen wrote: > On Tue, Apr 15, 2003 at 04:59:53AM -0700, Chet wrote: >> I recently starting moving a project over from Redhat 7.x to Cygwin and found a >> slight problem using poll() and a set of descriptor structs with POLLIN, >> POLLOUT, and POLLPRI set. Using this combination or any two of those flags can >> causes poll() to return an incorrect number of structs containing returned >> events. >> >> After looking through the source I noticed that poll() returns the value from >> cygwin_select. This is incorrect as cygwin_select() returns the total number of >> descriptors containing events for the send, recv, and except parts during the >> select() call. > > Hmm, all these descriptors are getting a non-0 content in revents so > the number should be the same. Or do I miss something? select's return value is subtly different from poll's. select returns the number of events. poll returns the number of fd's with events. If an fd has more than one event, select will return a higher number than poll. This reminds me -- has anyone run the posix regression tests against Cygwin lately? Maybe they'd catch stuff like this. - Dan -- 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/