On Windows, select() does not accept empty lists.
Patch suggested by Guido, fixes SF item 611464.

Bugfix candidate, will backport to release22-maint myself.
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index 5ab6225..abbbae6 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -50,6 +50,7 @@
 import select
 import socket
 import sys
+import time
 
 import os
 from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \
@@ -100,11 +101,14 @@
                 r.append(fd)
             if obj.writable():
                 w.append(fd)
-        try:
-            r, w, e = select.select(r, w, e, timeout)
-        except select.error, err:
-            if err[0] != EINTR:
-                raise
+        if [] == r == w == e:
+            time.sleep(timeout)
+        else:
+            try:
+                r, w, e = select.select(r, w, e, timeout)
+            except select.error, err:
+                if err[0] not in (EINTR, ENOENT):
+                    raise
 
         for fd in r:
             obj = map.get(fd)