On Dec 19, 2012, at 7:46 PM, anatoly techtonik <techtonik@gmail.com> wrote:
On *nix it really shouldn't be select.  select cannot wait upon a file descriptor whose value is greater than FD_SETSIZE, which means it sets a hard (and small) limit on the number of things that a process which wants to use this facility can be doing.

I didn't know that. Should a note be added to http://docs.python.org/2/library/select ?

The note that should be added there is simply "you should know how the select system call works in C if you want to use this module".

Why spreading FUD if it is possible to define a good entrypoint for those who want to learn, but don't have enough time? Why not to say directly that select interface is outdated?

It's not FUD.  If you know how select() works in C, you may well want to call it.  It's the most portable multiplexing API, although it has a number of limitations.  Really, what most users in this situation ought to be using is Twisted, but it seems there is not sufficient interest to bundle Twisted's core in the stdlib.  However, the thing Guido is working on lately may be interoperable enough with Twisted that you can upgrade to it more easily in future versions of Python, so one day it may be reasonable to say select is outdated.

(Maybe not though.  It's a good thing nobody told me that select was deprecated in favor of asyncore.)

On the other hand, if you hard-code another arbitrary limit like this into the stdlib subprocess module, it will just be another great reason why Twisted's spawnProcess is the best and everyone should use it instead, so be my guest ;-).

spawnProcess requires a reactor. This PEP is an alternative for the proponents of green energy. =)

Do you know what happens when you take something that is supposed to be happening inside a reactor, and then move it outside a reactor?  It's not called "green energy", it's called "a bomb" ;-).

The biggest complain about nuclear physics is that to understand what's going on it should have been gone 3D long ago. =) I think Twisted needs to organize competition on the best visualization of underlying concepts. It will help people grasp the concepts behind and different problems much faster (as well as gain an ability to compare different reactors).

I would love for someone to do this, of course, but now we're _really_ off topic.