Issue #15053: Make sure all functions related to the import lock have

the Python 3.3 change notice on them in case someone directly links to
the function(s).
This commit is contained in:
Brett Cannon 2012-07-13 11:26:19 -04:00
parent c65ef9bf55
commit d104eef118
2 changed files with 19 additions and 5 deletions

View file

@ -224,11 +224,6 @@ locking mechanism. Locking semantics of imports are an implementation
detail which may vary from release to release. However, Python ensures
that circular imports work without any deadlocks.
.. versionchanged:: 3.3
In Python 3.3, the locking scheme has changed to per-module locks for
the most part. A global import lock is kept for some critical tasks,
such as initializing the per-module locks.
.. function:: lock_held()
@ -243,6 +238,12 @@ that circular imports work without any deadlocks.
exception is made for circular imports, which by construction have to
expose an incomplete module object at some point.
.. versionchanged:: 3.3
The locking scheme has changed to per-module locks for
the most part. A global import lock is kept for some critical tasks,
such as initializing the per-module locks.
.. function:: acquire_lock()
Acquire the interpreter's global import lock for the current thread.
@ -255,12 +256,22 @@ that circular imports work without any deadlocks.
On platforms without threads, this function does nothing.
.. versionchanged:: 3.3
The locking scheme has changed to per-module locks for
the most part. A global import lock is kept for some critical tasks,
such as initializing the per-module locks.
.. function:: release_lock()
Release the interpreter's global import lock. On platforms without
threads, this function does nothing.
.. versionchanged:: 3.3
The locking scheme has changed to per-module locks for
the most part. A global import lock is kept for some critical tasks,
such as initializing the per-module locks.
The following constants with integer values, defined in this module, are used
to indicate the search result of :func:`find_module`.

View file

@ -110,6 +110,9 @@ Tools/Demos
Documentation
-------------
- Issue #15053: Copy Python 3.3 import lock change notice to all relevant
functions in imp instead of just at the top of the relevant section.
- Issue #15288: Link to the term "loader" in notes in pkgutil about how things
won't work as expected in Python 3.3 and mark the requisite functions as
"changed" since they will no longer work with modules directly imported by