merge heads
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index f146643..75481dd 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -397,11 +397,12 @@
self.accepting = False
self.connecting = False
self.del_channel()
- try:
- self.socket.close()
- except OSError as why:
- if why.args[0] not in (ENOTCONN, EBADF):
- raise
+ if self.socket is not None:
+ try:
+ self.socket.close()
+ except OSError as why:
+ if why.args[0] not in (ENOTCONN, EBADF):
+ raise
# cheap inheritance, used to pass all other attribute
# references to the underlying socket object.