summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2006-02-09 08:31:00 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2006-02-09 08:31:00 (GMT)
commit1eb77a50c86bd77eac0bc913d8b59e1dc3bb7687 (patch)
tree04e7e6692ee7ca06c2ee3b505bb1355621021234 /Lib
parentbd3490abdb94aca32c6f42b450444554b28d4bf1 (diff)
downloadcpython-1eb77a50c86bd77eac0bc913d8b59e1dc3bb7687.zip
cpython-1eb77a50c86bd77eac0bc913d8b59e1dc3bb7687.tar.gz
cpython-1eb77a50c86bd77eac0bc913d8b59e1dc3bb7687.tar.bz2
Added lock acquisition/release around shared data structure manipulation
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_logging.py53
1 files changed, 34 insertions, 19 deletions
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 @@ def test4():
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 @@ def test4():
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 @@ class FriendlyFormatter (logging.Formatter):
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 @@ def test5():
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()
#----------------------------------------------------------------------------