Commit 3017a7bb authored by Vinay Sajip's avatar Vinay Sajip

Issue #8200: logging: Handle errors when multiprocessing is not fully loaded when logging occurs.

parent 95affc44
......@@ -287,10 +287,18 @@ class LogRecord(object):
self.threadName = None
if not logMultiprocessing:
self.processName = None
elif 'multiprocessing' not in sys.modules:
self.processName = 'MainProcess'
else:
self.processName = sys.modules['multiprocessing'].current_process().name
self.processName = 'MainProcess'
mp = sys.modules.get('multiprocessing')
if mp is not None:
# Errors may occur if multiprocessing has not finished loading
# yet - e.g. if a custom import hook causes third-party code
# to run when multiprocessing calls import. See issue 8200
# for an example
try:
self.processName = mp.current_process().name
except StandardError:
pass
if logProcesses and hasattr(os, 'getpid'):
self.process = os.getpid()
else:
......
......@@ -29,6 +29,9 @@ Core and Builtins
Library
-------
- Issue #8200: logging: Handle errors when multiprocessing is not
fully loaded when logging occurs.
- Issue #3890: Fix recv() and recv_into() on non-blocking SSL sockets.
- Issue #8179: Fix macpath.realpath() on a non-existing path.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment