bpo-22831: Use "with" to avoid possible fd leaks in tools (part 2). (GH-10927)
diff --git a/Tools/demo/rpythond.py b/Tools/demo/rpythond.py
index 9ffe13a..a885b3e 100755
--- a/Tools/demo/rpythond.py
+++ b/Tools/demo/rpythond.py
@@ -26,16 +26,16 @@
s.listen(1)
while True:
conn, (remotehost, remoteport) = s.accept()
- print('connection from', remotehost, remoteport)
- request = b''
- while 1:
- data = conn.recv(BUFSIZE)
- if not data:
- break
- request += data
- reply = execute(request.decode())
- conn.send(reply.encode())
- conn.close()
+ with conn:
+ print('connection from', remotehost, remoteport)
+ request = b''
+ while 1:
+ data = conn.recv(BUFSIZE)
+ if not data:
+ break
+ request += data
+ reply = execute(request.decode())
+ conn.send(reply.encode())
def execute(request):
stdout = sys.stdout