On Nov 3, 2011, at 7:40 PM, Tobias Oberstein wrote:

> Regarding the broader picture: I cannot say I understand what you say 
> completely.
> 
> "maximum file descriptor pollable by select()"
> 
> Is this *nix in general?
> 
> Does that only apply to select.select?

Yep, only to select.select.  Search around for FD_SETSIZE for more information.

> Or also: select.poll(), select.epoll(), select.kqueue() ?

But those may not be available consistently, so you shouldn't hard-code it to 
use one of those either :).

> How would implementing an IReadDescriptor circumvent the problem? By not 
> using select(), but poll/epoll/kqeue?

It circumvents the problem by allowing whatever mechanism Twisted is using for 
multiplexing, rather than always using select().  So you still have to select a 
reactor that actually supports more than  FD_SETSIZE sockets.

> In any case: we're running FreeBSD, so epoll() is out.
> 
> Is there even a kqueue-based Twisted reactor?

Yes... ish.  More detail here: <http://twistedmatrix.com/trac/ticket/1918>.

-glyph
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to