Issue #11444: Lock handlers while flushing/closing during shutdown.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index b555bbe..685efeb 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1507,12 +1507,15 @@
         #errors might occur, for example, if files are locked
         #we just ignore them if raiseExceptions is not set
         try:
+            h.acquire()
             h.flush()
             h.close()
         except:
             if raiseExceptions:
                 raise
             #else, swallow
+        finally:
+            h.release()
 
 #Let's try and shutdown automatically on application exit...
 try: