[Python-Dev] Pervasive socket failures on Windows
tim.peters at gmail.com
Fri Feb 10 18:43:00 CET 2006
> Perhaps the memory you have is of select-lookalikes, like poll(),
No, it was definitely select(), and on a 64-bit Unix (probably _not_
Linux) that allowed for an enormous number of sockets.
> or maybe of vendor-specific (and POSIX-breaking) extensions to select().
Yes, it must have been non-POSIX.
> select() performs pretty poorly on large fdsets with holes in, and has the fixed
> size fdset problem, so poll() was added to fix that (by Linux and later by XPG4,
> IIRC.) poll() takes an array of structs containing the fd, the operations to
> watch for and an output parameter with seen events. Does that jar your
> memory? :)
No more than it had been jarred ;-) Well, a bit more: it was
possible to pass a first argument to select() that was larger than
FD_SETSIZE. In effect, FD_SETSIZE had no meaning.
> (The socketmodule has support for poll(), on systems that have it, by the
More information about the Python-Dev