[Python-Dev] epoll implementation

Jean-Paul Calderone exarkun at divmod.com
Fri May 26 20:57:05 CEST 2006


On Fri, 26 May 2006 13:31:33 -0400, Ross Cohen <rcohen at snurgle.org> wrote:
>On Fri, May 26, 2006 at 01:10:30PM -0400, Jean-Paul Calderone wrote:
>> Of course, if there is a volunteer to maintain and support an extension module, that's better than nothing.  PyEpoll is missing a couple features I would like to see - the size of the epoll set is hard-coded to FD_SETSIZE, for example: while this makes little difference to Python 2.4.3 (since you cannot use sockets with fileno >= FD_SETSIZE at all in that version of Python), it is a serious limitation for other versions of Python.  Similarly, the number of events to retrieve when invoking epoll_wait() is also hardcoded to FD_SETSIZE.  Real applications often want to tune this value to avoid being overwhelmed by io events.
>
>It is not true that this module limits the number of file descriptors to
>FD_SETSIZE. You were probable looking at the number of file descriptors
>returned by the epoll call, which is already limited by FD_SETSIZE because
>of the size of event array. In any case, this can be made tunable.

Woops, you're right, of course.  I forgot that the argument to epoll_create is only a hint, not a limit.  Sorry about that.

Jean-Paul


More information about the Python-Dev mailing list