[New-bugs-announce] [issue13668] mute ImportError in __del__ of _threading_local module

Zhiping Deng report at bugs.python.org
Wed Dec 28 14:18:13 CET 2011


New submission from Zhiping Deng <kofreestyler at gmail.com>:

If python was configured without-threads:

% ./python
Python 2.7.2+ (2.7:e71e4bd45c89, Dec 28 2011, 21:03:59) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import dummy_threading as _threading
>>> a = _threading.local()
>>> del a
Exception ImportError: ImportError('No module named thread',) in <bound method local.__del__ of <_threading_local.local object at 0xb7681694>> ignored

Patch to mute this Exception:
diff --git a/Lib/_threading_local.py b/Lib/_threading_local.py
--- a/Lib/_threading_local.py
+++ b/Lib/_threading_local.py
@@ -221,7 +221,13 @@
             lock.release()
 
     def __del__(self):
-        import threading
+        try:
+            import threading
+        except ImportError:
+            import sys
+            if '_dummy_threading' in sys.modules:
+                return
+            raise
 
         key = object.__getattribute__(self, '_local__key')

----------
files: _threading_local.mute_ImportError.diff
keywords: patch
messages: 150288
nosy: Zhiping.Deng
priority: normal
severity: normal
status: open
title: mute ImportError in __del__ of _threading_local module
versions: Python 2.7
Added file: http://bugs.python.org/file24097/_threading_local.mute_ImportError.diff

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13668>
_______________________________________


More information about the New-bugs-announce mailing list