8000 Fix ResourceWarning in tcp and udp echo examples · python/asyncio@bd1e249 · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Nov 23, 2017. It is now read-only.

Commit bd1e249

Browse files
committed
Fix ResourceWarning in tcp and udp echo examples
1 parent eaa0eb3 commit bd1e249

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

examples/tcp_echo.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ def start_client(loop, host, port):
7171

7272
def start_server(loop, host, port):
7373
f = loop.create_server(EchoServer, host, port)
74-
s = loop.run_until_complete(f)
75-
print('serving on', s.sockets[0].getsockname())
74+
return loop.run_until_complete(f)
7675

7776

7877
ARGS = argparse.ArgumentParser(description="TCP Echo example.")
@@ -106,11 +105,13 @@ def start_server(loop, host, port):
106105
loop.add_signal_handler(signal.SIGINT, loop.stop)
107106

108107
if args.server:
109-
start_server(loop, args.host, args.port)
108+
server = start_server(loop, args.host, args.port)
110109
else:
111110
start_client(loop, args.host, args.port)
112111

113112
try:
114113
loop.run_forever()
115114
finally:
115+
if args.server:
116+
server.close()
116117
loop.close()

examples/udp_echo.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ def connection_lost(self, exc):
5252
def start_server(loop, addr):
5353
t = asyncio.Task(loop.create_datagram_endpoint(
5454
MyServerUdpEchoProtocol, local_addr=addr))
55-
loop.run_until_complete(t)
55+
transport, server = loop.run_until_complete(t)
56+
return transport
5657

5758

5859
def start_client(loop, addr):
@@ -91,11 +92,13 @@ def start_client(loop, addr):
9192
loop.add_signal_handler(signal.SIGINT, loop.stop)
9293

9394
if '--server' in sys.argv:
94-
start_server(loop, (args.host, args.port))
95+
server = start_server(loop, (args.host, args.port))
9596
else:
9697
start_client(loop, (args.host, args.port))
9798

9899
try:
99100
loop.run_forever()
100101
finally:
102+
if '--server' in sys.argv:
103+
server.close()
101104
loop.close()

0 commit comments

Comments
 (0)
0