[medusa] HELP! too many file descriptors in select()!!!!
Gregory P. Smith
greg@e...
Fri, 6 Apr 2001 13:44:44 -0700
On Fri, Apr 06, 2001 at 08:32:11PM -0000, Weiss Blitz wrote:
> I got the following message from Python20/Medusa running on a Win2k
> Advanced Server:
>
> Traceback (most recent call last):
> File "zulu_start.py", line 254, in ?
> asyncore.loop()
> File "d:\\zuluforumserver\asyncore.py", line 139, in loop
> poll_fun (timeout, map)
> File "d:\\zuluforumserver\asyncore.py", line 67, in poll
> r,w,e = select.select (r,w,e, timeout)
> ValueError: too many file descriptors in select()
>
> Only seem to be around 50 to 60 socket connections when this happened
> !
> Does anyone knows what's the limit on the selector descriptors?!
> Or a way around this?
>
> Carlos :(
You need to recompile the _select.pyd Python module with FS_SETSIZE
set to a reasonable number (such as 256). Windows, by default, only
supports up to 64 file descriptors in a call to select.
I believe they have changed the default compilation to python in
python 2.1 to use 256 or 512.
(you'll still hit this problem at those higher numbers of sockets; at
that point you should look into making your application not require as
many open sockets at once)
Greg
--
Gregory P. Smith gnupg/pgp: http://electricrain.com/greg/keys/
C379 1F92 3703 52C9 87C4 BE58 6CDA DB87 105D 9163