mirror of
https://github.com/python/cpython.git
synced 2026-01-06 07:22:09 +00:00
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:
parent
c65ef9bf55
commit
d104eef118
2 changed files with 19 additions and 5 deletions
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue