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 @@ -497,6 +497,23 @@ def shutdown_request(self, request):
497
497
self .assertEqual (server .shutdown_called , 1 )
498
498
server .server_close ()
499
499
500
+ def test_threads_reaped (self ):
501
+ """
502
+ In #37193, users reported a memory leak
503
+ due to the saving of every request thread. Ensure that the
504
+ threads are cleaned up after the requests complete.
505
+ """
506
+ class MyServer (socketserver .ThreadingMixIn , socketserver .TCPServer ):
507
+ pass
508
+
509
+ server = MyServer ((HOST , 0 ), socketserver .StreamRequestHandler )
510
+ for n in range (10 ):
511
+ with socket .create_connection (server .server_address ):
512
+ server .handle_request ()
513
+ [thread .join () for thread in server ._threads ]
514
+ self .assertEqual (len (server ._threads ), 0 )
515
+ server .server_close ()
516
+
500
517
501
518
if __name__ == "__main__" :
502
519
unittest .main ()
You can’t perform that action at this time.
0 commit comments