mirror of
https://github.com/python/cpython.git
synced 2025-01-20 15:34:52 +08:00
gh-114706: Allow QueueListener.stop() to be called more than once. (GH-114748)
This commit is contained in:
parent
ea30a28c3e
commit
e21754d7f8
@ -1586,6 +1586,7 @@ class QueueListener(object):
|
||||
Note that if you don't call this before your application exits, there
|
||||
may be some records still left on the queue, which won't be processed.
|
||||
"""
|
||||
self.enqueue_sentinel()
|
||||
self._thread.join()
|
||||
self._thread = None
|
||||
if self._thread: # see gh-114706 - allow calling this more than once
|
||||
self.enqueue_sentinel()
|
||||
self._thread.join()
|
||||
self._thread = None
|
||||
|
@ -4089,6 +4089,7 @@ class QueueHandlerTest(BaseTest):
|
||||
self.que_logger.critical(self.next_message())
|
||||
finally:
|
||||
listener.stop()
|
||||
listener.stop() # gh-114706 - ensure no crash if called again
|
||||
self.assertTrue(handler.matches(levelno=logging.WARNING, message='1'))
|
||||
self.assertTrue(handler.matches(levelno=logging.ERROR, message='2'))
|
||||
self.assertTrue(handler.matches(levelno=logging.CRITICAL, message='3'))
|
||||
|
Loading…
Reference in New Issue
Block a user