Made handle_expt_event() be called last, so that we don't accidentally read
after closing the socket.
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index f9b0fdf..07b0499 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -97,14 +97,14 @@
 
 def readwrite(obj, flags):
     try:
-        if flags & select.POLLPRI:
-            obj.handle_expt_event()
         if flags & select.POLLIN:
             obj.handle_read_event()
         if flags & select.POLLOUT:
             obj.handle_write_event()
         if flags & (select.POLLHUP | select.POLLERR | select.POLLNVAL):
             obj.handle_close()
+        if flags & select.POLLPRI:
+            obj.handle_expt_event()
     except _reraised_exceptions:
         raise
     except: