Added lock acquisition/release around shared data structure manipulation
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index f398720..bf1e234 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -466,9 +466,13 @@
         conf = globals()['config%d' % i]
         sys.stdout.write('config%d: ' % i)
         loggerDict = logging.getLogger().manager.loggerDict
-        saved_handlers = logging._handlers.copy()
-        saved_handler_list = logging._handlerList[:]
-        saved_loggers = loggerDict.copy()
+        logging._acquireLock()
+        try:
+            saved_handlers = logging._handlers.copy()
+            saved_handler_list = logging._handlerList[:]
+            saved_loggers = loggerDict.copy()
+        finally:
+            logging._releaseLock()
         try:
             fn = tempfile.mktemp(".ini")
             f = open(fn, "w")
@@ -483,12 +487,16 @@
                 message('ok.')
             os.remove(fn)
         finally:
-            logging._handlers.clear()
-            logging._handlers.update(saved_handlers)
-            logging._handlerList = saved_handler_list
-            loggerDict = logging.getLogger().manager.loggerDict
-            loggerDict.clear()
-            loggerDict.update(saved_loggers)
+            logging._acquireLock()
+            try:
+                logging._handlers.clear()
+                logging._handlers.update(saved_handlers)
+                logging._handlerList = saved_handler_list
+                loggerDict = logging.getLogger().manager.loggerDict
+                loggerDict.clear()
+                loggerDict.update(saved_loggers)
+            finally:
+                logging._releaseLock()
 
 #----------------------------------------------------------------------------
 # Test 5
@@ -527,9 +535,13 @@
 
 def test5():
     loggerDict = logging.getLogger().manager.loggerDict
-    saved_handlers = logging._handlers.copy()
-    saved_handler_list = logging._handlerList[:]
-    saved_loggers = loggerDict.copy()
+    logging._acquireLock()
+    try:
+        saved_handlers = logging._handlers.copy()
+        saved_handler_list = logging._handlerList[:]
+        saved_loggers = loggerDict.copy()
+    finally:
+        logging._releaseLock()
     try:
         fn = tempfile.mktemp(".ini")
         f = open(fn, "w")
@@ -542,13 +554,16 @@
             logging.exception("just testing")
         os.remove(fn)
     finally:
-        logging._handlers.clear()
-        logging._handlers.update(saved_handlers)
-        logging._handlerList = saved_handler_list
-        loggerDict = logging.getLogger().manager.loggerDict
-        loggerDict.clear()
-        loggerDict.update(saved_loggers)
-
+        logging._acquireLock()
+        try:
+            logging._handlers.clear()
+            logging._handlers.update(saved_handlers)
+            logging._handlerList = saved_handler_list
+            loggerDict = logging.getLogger().manager.loggerDict
+            loggerDict.clear()
+            loggerDict.update(saved_loggers)
+        finally:
+            logging._releaseLock()
 
 
 #----------------------------------------------------------------------------