Skip to content

Commit 7c0c0f4

Browse files
committed
Fix a regression in loop.connect_accepted_socket
1 parent 25e830d commit 7c0c0f4

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

tests/test_tcp.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ def client():
778778
conn, _ = lsock.accept()
779779
proto = MyProto(loop=loop)
780780
proto.loop = loop
781-
loop.create_task(
781+
f = loop.create_task(
782782
loop.connect_accepted_socket(
783783
(lambda: proto), conn, ssl=server_ssl))
784784
loop.run_forever()
@@ -790,6 +790,8 @@ def client():
790790
self.assertEqual(proto.state, 'CLOSED')
791791
self.assertEqual(proto.nbytes, len(message))
792792
self.assertEqual(response, expected_response)
793+
tr, _ = f.result()
794+
tr.close()
793795

794796

795797
class Test_AIO_TCP(_TestTCP, tb.AIOTestCase):

uvloop/loop.pyx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1932,21 +1932,24 @@ cdef class Loop:
19321932
fileno = sock.fileno()
19331933
app_protocol = protocol_factory()
19341934
waiter = self._new_future()
1935+
transport_waiter = None
19351936

19361937
if ssl is None:
19371938
protocol = app_protocol
1939+
transport_waiter = waiter
19381940
else:
19391941
protocol = aio_SSLProtocol(
19401942
self, app_protocol, ssl, waiter,
19411943
True, # server_side
19421944
None) # server_hostname
1945+
transport_waiter = None
19431946

19441947
if sock.family == uv.AF_UNIX:
19451948
transport = <UVStream>UnixTransport.new(
1946-
self, protocol, None, waiter)
1949+
self, protocol, None, transport_waiter)
19471950
elif sock.family in (uv.AF_INET, uv.AF_INET6):
19481951
transport = <UVStream>TCPTransport.new(
1949-
self, protocol, None, waiter)
1952+
self, protocol, None, transport_waiter)
19501953

19511954
if transport is None:
19521955
raise ValueError(

0 commit comments

Comments
 (0)