From 2353d77fad7ed9d11d8a4d66b5dd1306cdb94125 Mon Sep 17 00:00:00 2001 From: Irit Katriel Date: Sun, 16 Aug 2020 16:10:13 +0100 Subject: bpo-41503: Fix race between setTarget and flush in logging.handlers.MemoryHandler (GH-21765) --- Lib/logging/handlers.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Lib/logging') diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index 4a120e9f1e..867ef4ebc7 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -1324,7 +1324,11 @@ class MemoryHandler(BufferingHandler): """ Set the target handler for this handler. """ - self.target = target + self.acquire() + try: + self.target = target + finally: + self.release() def flush(self): """ -- cgit v1.2.1