Python 2.5.2 (r252:60911, Sep 30 2008, 15:41:38)
[GCC 4.3.2 20080917 (Red Hat 4.3.2-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from socket import *
>>> from select import select
>>> s = [ socket(AF_INET, SOCK_STREAM) for x in range(1022) ]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/socket.py", line 154, in __init__
socket.error: (24, 'Too many open files')
>>> s = [ socket(AF_INET, SOCK_STREAM) for x in range(1021) ]
>>>
>>> select(s,[],[],0)
([1021 socket objects omitted], [], [])
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from socket import *
>>> from select import select
>>>
>>> s= [ socket(AF_INET, SOCK_STREAM) for x in range(1024) ]
>>> select(s, [],[],0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many file descriptors in select()
>>> del s
>>> s= [ socket(AF_INET, SOCK_STREAM) for x in range(513) ]
>>> select(s, [],[],0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many file descriptors in select()
>>> del s
>>> s= [ socket(AF_INET, SOCK_STREAM) for x in range(512) ]
>>> select(s, [],[],0)
([], [], [])
>>>