diff --git a/Lib/asyncore.py b/Lib/asyncore.py index ba4a69895fe..04253dfa55f 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -54,7 +54,7 @@ import os from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \ - ENOTCONN, ESHUTDOWN, EINTR, EISCONN + ENOTCONN, ESHUTDOWN, EINTR, EISCONN, errorcode try: socket_map @@ -287,7 +287,7 @@ def connect(self, address): self.connected = True self.handle_connect() else: - raise socket.error, err + raise socket.error, (err, errorcode[err]) def accept(self): # XXX can return either an address pair or None @@ -298,7 +298,7 @@ def accept(self): if why[0] == EWOULDBLOCK: pass else: - raise socket.error, why + raise def send(self, data): try: @@ -308,7 +308,7 @@ def send(self, data): if why[0] == EWOULDBLOCK: return 0 else: - raise socket.error, why + raise return 0 def recv(self, buffer_size): @@ -327,7 +327,7 @@ def recv(self, buffer_size): self.handle_close() return '' else: - raise socket.error, why + raise def close(self): self.del_channel()