File tree 1 file changed +17
-0
lines changed
1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -490,6 +490,23 @@ def shutdown_request(self, request):
490
490
self .assertEqual (server .shutdown_called , 1 )
491
491
server .server_close ()
492
492
493
+ def test_threads_reaped (self ):
494
+ """
495
+ In #37193, users reported a memory leak
496
+ due to the saving of every request thread. Ensure that the
497
+ threads are cleaned up after the requests complete.
498
+ """
499
+ class MyServer (socketserver .ThreadingMixIn , socketserver .TCPServer ):
500
+ pass
501
+
502
+ server = MyServer ((HOST , 0 ), socketserver .StreamRequestHandler )
503
+ for n in range (10 ):
504
+ with socket .create_connection (server .server_address ):
505
+ server .handle_request ()
506
+ [thread .join () for thread in server ._threads ]
507
+ self .assertEqual (len (server ._threads ), 0 )
508
+ server .server_close ()
509
+
493
510
494
511
if __name__ == "__main__" :
495
512
unittest .main ()
You can’t perform that action at this time.
0 commit comments