summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/selector_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/selector_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/selector_events.py')
-rw-r--r--Lib/asyncio/selector_events.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py
index 44c380a..00e3244 100644
--- a/Lib/asyncio/selector_events.py
+++ b/Lib/asyncio/selector_events.py
@@ -25,6 +25,7 @@ from . import futures
from . import protocols
from . import sslproto
from . import transports
+from . import trsock
from .log import logger
@@ -171,7 +172,7 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop):
self.call_exception_handler({
'message': 'socket.accept() out of system resource',
'exception': exc,
- 'socket': sock,
+ 'socket': trsock.TransportSocket(sock),
})
self._remove_reader(sock.fileno())
self.call_later(constants.ACCEPT_RETRY_DELAY,
@@ -603,7 +604,7 @@ class _SelectorTransport(transports._FlowControlMixin,
def __init__(self, loop, sock, protocol, extra=None, server=None):
super().__init__(extra, loop)
- self._extra['socket'] = sock
+ self._extra['socket'] = trsock.TransportSocket(sock)
try:
self._extra['sockname'] = sock.getsockname()
except OSError: