Index: Lib/asyncore.py =================================================================== --- Lib/asyncore.py (revision 63534) +++ Lib/asyncore.py (working copy) @@ -383,9 +383,12 @@ self.connected = True self.handle_accept() elif not self.connected: - self.handle_connect() - self.connected = True - self.handle_read() + if self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR) != 0: + self.handle_expt_event() + else: + self.handle_connect() + self.connected = True + self.handle_read() else: self.handle_read()