delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/03/23/16:15:02

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.4 required=5.0 tests=AWL,BAYES_00,TW_FD,UNPARSEABLE_RELAY
X-Spam-Check-By: sourceware.org
X-Yahoo-SMTP: jenXL62swBAWhMTL3wnej93oaS0ClBQOAKs8jbEbx_o-
Date: Wed, 23 Mar 2011 16:14:24 -0400
From: Christopher Faylor <cgf-use-the-mailinglist-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: python select() is limited to fds < 64
Message-ID: <20110323201424.GD5588@ednor.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <4D88F89B DOT 6000308 AT dronecode DOT org DOT uk> <4D88FE3E DOT 2070607 AT sh DOT cvut DOT cz> <20110322200804 DOT GA22409 AT ednor DOT casa DOT cgf DOT cx> <4D89DA22 DOT 9010404 AT dronecode DOT org DOT uk> <20110323150038 DOT GE13862 AT ednor DOT casa DOT cgf DOT cx> <4D8A21F7 DOT 1020206 AT dronecode DOT org DOT uk>
MIME-Version: 1.0
In-Reply-To: <4D8A21F7.1020206@dronecode.org.uk>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Wed, Mar 23, 2011 at 04:38:15PM +0000, Jon TURNEY wrote:
>On 23/03/2011 15:00, Christopher Faylor wrote:
>> On Wed, Mar 23, 2011 at 11:31:46AM +0000, Jon TURNEY wrote:
>>> On 22/03/2011 20:08, Christopher Faylor wrote:
>>>> On Tue, Mar 22, 2011 at 08:53:34PM +0100, V??clav Haisman wrote:
>>>>> Jon TURNEY wrote, On 22.3.2011 20:29:
>>>>>>
>>>>>> python seems to be built with the default value of FD_SETSIZE, which is
>>>>>> only 64 on cygwin.
>>>>> Is this not because of the inherent limitation of
>>>>> WaitForMultipleObjects() call?
>>>>
>>>> Yep.  Without a rewrite, it's a hard limit to Cygwin's select().
>>>
>>> Please read my email more closely.  I am not saying "python select() is
>>> limited to waiting on 64 fds or less", I am saying "python select() is
>>> limited to waiting on fd which are less than 64"
>> 
>> I forgot to add one bit of data.  Unless you go out of your way to
>> change it, Cygwin's select can't wait for an fd > 63.  It's basically a
>> bit mask.  So, there are two limitations: 1) the number of handles that
>> you can wait for with WaitForMultipleObjects() and 2) the size of
>> Cygwin's fd_set.
>
>Yes, I know fd_set is implemented as a bitmap.  It's size is controlled by
>FD_SETSIZE.  That is the whole point of the patch in the original mail.

I actually did see that last night and then promptly forgot it.

I assume you know that this greately increases the likelihood that
select() will fail with an EINVAL.  Maybe python somehow deals
gracefully with that.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019