]> granicus.if.org Git - python/commitdiff
Add a mention of the new import locks in whatsnew.
authorAntoine Pitrou <solipsis@pitrou.net>
Thu, 17 May 2012 19:13:45 +0000 (21:13 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Thu, 17 May 2012 19:13:45 +0000 (21:13 +0200)
Doc/whatsnew/3.3.rst

index 6fb60afdb9eca2134fadd2631b2a761a322caab9..fe1a84a2ce5641dc9281ffb61a70909c45c48657 100644 (file)
@@ -573,6 +573,23 @@ Some smaller changes made to the core Python language are:
 .. XXX mention new error messages for passing wrong number of arguments to functions
 
 
+A Finer-Grained Import Lock
+===========================
+
+Previous versions of CPython have always relied on a global import lock.
+This led to unexpected annoyances, such as deadlocks when importing a module
+would trigger code execution in a different thread as a side-effect.
+Clumsy workarounds were sometimes employed, such as the
+:c:func:`PyImport_ImportModuleNoBlock` C API function.
+
+In Python 3.3, importing a module takes a per-module lock.  This correctly
+serializes importation of a given module from multiple threads (preventing
+the exposure of incompletely initialized modules), while eliminating the
+aforementioned annoyances.
+
+(contributed by Antoine Pitrou in :issue:`9260`.)
+
+
 New and Improved Modules
 ========================