summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-02-19 00:45:59 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-02-19 00:45:59 (GMT)
commit884e40b9828593febcb91f9e56614f0c9b26e1b7 (patch)
tree46930e69aec2d0eb8e823ee7c51740f1a0c3ecdf /Lib/asyncio
parent065ca25aae644a0db313905319ce745fb2aead6c (diff)
downloadcpython-884e40b9828593febcb91f9e56614f0c9b26e1b7.zip
cpython-884e40b9828593febcb91f9e56614f0c9b26e1b7.tar.gz
cpython-884e40b9828593febcb91f9e56614f0c9b26e1b7.tar.bz2
asyncio, Tulip issue 143: UNIX domain methods, fix ResourceWarning and
DeprecationWarning warnings. create_unix_server() closes the socket on any error, not only on OSError.
Diffstat (limited to 'Lib/asyncio')
-rw-r--r--Lib/asyncio/unix_events.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py
index 3a2fd18..faf4c60 100644
--- a/Lib/asyncio/unix_events.py
+++ b/Lib/asyncio/unix_events.py
@@ -183,13 +183,12 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
raise ValueError(
'path and sock can not be specified at the same time')
+ sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0)
try:
- sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0)
sock.setblocking(False)
yield from self.sock_connect(sock, path)
- except OSError:
- if sock is not None:
- sock.close()
+ except:
+ sock.close()
raise
else:
@@ -213,6 +212,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
try:
sock.bind(path)
except OSError as exc:
+ sock.close()
if exc.errno == errno.EADDRINUSE:
# Let's improve the error message by adding
# with what exact address it occurs.