File tree Expand file tree Collapse file tree 2 files changed +15
-8
lines changed
Expand file tree Collapse file tree 2 files changed +15
-8
lines changed Original file line number Diff line number Diff line change @@ -1164,22 +1164,27 @@ def test_race_between_set_target_and_flush(self):
11641164 class MockRaceConditionHandler :
11651165 def __init__ (self , mem_hdlr ):
11661166 self .mem_hdlr = mem_hdlr
1167+ self .threads = []
11671168
11681169 def removeTarget (self ):
11691170 self .mem_hdlr .setTarget (None )
11701171
11711172 def handle (self , msg ):
1172- t = threading .Thread (target = self .removeTarget )
1173- t . daemon = True
1174- t .start ()
1173+ thread = threading .Thread (target = self .removeTarget )
1174+ self . threads . append ( thread )
1175+ thread .start ()
11751176
11761177 target = MockRaceConditionHandler (self .mem_hdlr )
1177- self .mem_hdlr .setTarget (target )
1178+ try :
1179+ self .mem_hdlr .setTarget (target )
11781180
1179- for _ in range (10 ):
1180- time .sleep (0.005 )
1181- self .mem_logger .info ("not flushed" )
1182- self .mem_logger .warning ("flushed" )
1181+ for _ in range (10 ):
1182+ time .sleep (0.005 )
1183+ self .mem_logger .info ("not flushed" )
1184+ self .mem_logger .warning ("flushed" )
1185+ finally :
1186+ for thread in target .threads :
1187+ threading_helper .join_thread (thread )
11831188
11841189
11851190class ExceptionFormatter (logging .Formatter ):
Original file line number Diff line number Diff line change 1+ Fix test_logging.test_race_between_set_target_and_flush(): the test now
2+ waits until all threads complete to avoid leaking running threads.
You can’t perform that action at this time.
0 commit comments