Added a select.select call in the test server loop to make sure the
socket is ready to be read from before attempting a read (this
prevents an error 10035 on some Windows platforms). [GSoC - Alan
McIntyre]
diff --git a/Lib/test/test_asyncore.py b/Lib/test/test_asyncore.py
index 7602b9f..03481e8 100644
--- a/Lib/test/test_asyncore.py
+++ b/Lib/test/test_asyncore.py
@@ -65,11 +65,13 @@
     else:
         n = 200
         while n > 0:
-            data = conn.recv(10)
-            # keep everything except for the newline terminator
-            buf.write(data.replace('\n', ''))
-            if '\n' in data:
-                break
+            r, w, e = select.select([conn], [], [])
+            if r:
+                data = conn.recv(10)
+                # keep everything except for the newline terminator
+                buf.write(data.replace('\n', ''))
+                if '\n' in data:
+                    break
             n -= 1
             time.sleep(0.01)