Also I think it's not worth to fix it, there's no use for select() on windows if you don't use sockets - you have to supply at least one socket descriptor (that's the cause for the second error above).
Although it could be argued whether it makes sense to simulate a Linux-compatible select for Windows.
Nah, it's been like this for a decade.
In the current form, it breaks asyncore - this is what I wanted to fix in the first place. asyncore contains this code snippet in the poll() function:
try: r,w,e = select.select (r,w,e, timeout) except select.error, err: if err != EINTR: raise r = ; w = ; e = 
This will fail on Windows if all of r,w,e are empty. Even if there are active sockets, it may be that this code is executed with all three lists empty.
How can this be fixed?
I have an SF item at http://www.python.org/sf/611464 discussing this.