[Python-Dev] Changing select.select to accept iterables

Guido van Rossum guido at python.org
Sat Sep 6 17:04:40 EDT 2003

> Bug #798046 basically requests that select.select accept iterables 
> instead of only lists.  I took a look at the code and beyond 
> PyList_Check()s and a function called list2set that expects a Python 
> list to be passed that can easily be changed to take in an iterable I 
> see no need to keep the restriction.
> But this module is old and I suspect it is used a good amount (the thing 
> started at ver. 2.1 by Guido back in 1992).  Since it seems to have gone 
> this long without being changed to use the iterator protocol I wanted to 
> double-check that changing it would be okay.  The only reason I can 
> think of why it wouldn't be is performance, as suggested by the OP of 
> the bug report.
> And in general, when something like this that smacks of, "there is no 
> obvious reason to keep it this way", even though it could have been 
> changed a while ago and the CVS log seems to not mention anything 
> against the change, should the change just be made?  Or should I just 
> ask like this to be safe?  I have a sneaking suspicion the answer is, 
> "just change it, Brett!  Use your judgment!  Don't be so timid!"  But 
> then at least this way I minimize getting chewed out for breaking code.
> Then again, being yelled at makes you think like a Dutchman faster than 
> anything I know of.  =)

I seem to recall that that code has a long history of being hairy
and full of platform-specific issues, and I'd rather not see it
disturbed by an unspecific desire for more generalization.  Why can't
the OP produce the input in the form of lists?

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list