[Python-checkins] r79279 - in python/trunk: Lib/logging/__init__.py Misc/NEWS

vinay.sajip python-checkins at python.org
Mon Mar 22 13:33:08 CET 2010


Author: vinay.sajip
Date: Mon Mar 22 13:33:08 2010
New Revision: 79279
Log:
Issue #8200: logging: Handle errors when multiprocessing is not fully loaded when logging occurs.
Modified:
 python/trunk/Lib/logging/__init__.py
 python/trunk/Misc/NEWS
Modified: python/trunk/Lib/logging/__init__.py
==============================================================================
--- python/trunk/Lib/logging/__init__.py	(original)
+++ python/trunk/Lib/logging/__init__.py	Mon Mar 22 13:33:08 2010
@@ -287,10 +287,18 @@
 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:
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Mon Mar 22 13:33:08 2010
@@ -29,6 +29,9 @@
 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.


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /