summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/proactor_events.py
diff options
context:
space:
mode:
authorYury Selivanov <yury@magic.io>2019-05-27 13:57:20 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-05-27 13:57:19 (GMT)
commit8cd5165ba05ff57cfdbbc71c393bddad1ce1ab87 (patch)
treeddfd76a4b278f1969c82af389afcc1641cabb005 /Lib/asyncio/proactor_events.py
parent674ee1260025ff36f27e5d70ff6b66e3aab880bf (diff)
downloadcpython-8cd5165ba05ff57cfdbbc71c393bddad1ce1ab87.zip
cpython-8cd5165ba05ff57cfdbbc71c393bddad1ce1ab87.tar.gz
cpython-8cd5165ba05ff57cfdbbc71c393bddad1ce1ab87.tar.bz2
bpo-37027: Return a proxy socket object from transp.get_extra_info('socket') (GH-13530)
Return a safe to use proxy socket object from `transport.get_extra_info('socket')` https://bugs.python.org/issue37027
Diffstat (limited to 'Lib/asyncio/proactor_events.py')
-rw-r--r--Lib/asyncio/proactor_events.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index 710f768..6a53b2e 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -19,6 +19,7 @@ from . import exceptions
from . import protocols
from . import sslproto
from . import transports
+from . import trsock
from .log import logger
@@ -454,7 +455,7 @@ class _ProactorSocketTransport(_ProactorReadPipeTransport,
base_events._set_nodelay(sock)
def _set_extra(self, sock):
- self._extra['socket'] = sock
+ self._extra['socket'] = trsock.TransportSocket(sock)
try:
self._extra['sockname'] = sock.getsockname()
@@ -679,7 +680,7 @@ class BaseProactorEventLoop(base_events.BaseEventLoop):
self.call_exception_handler({
'message': 'Accept failed on a socket',
'exception': exc,
- 'socket': sock,
+ 'socket': trsock.TransportSocket(sock),
})
sock.close()
elif self._debug: