bpo-45855: document that `no_block` has no use anymore in PyCapsule_Import (#29665)

This commit is contained in:
Georg Brandl 2021-12-12 10:49:50 +01:00 committed by GitHub
parent f3c16a5e72
commit f4095e53ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 10 deletions

View File

@ -103,13 +103,14 @@ Refer to :ref:`using-capsules` for more information on using these objects.
Import a pointer to a C object from a capsule attribute in a module. The
*name* parameter should specify the full name to the attribute, as in
``module.attribute``. The *name* stored in the capsule must match this
string exactly. If *no_block* is true, import the module without blocking
(using :c:func:`PyImport_ImportModuleNoBlock`). If *no_block* is false,
import the module conventionally (using :c:func:`PyImport_ImportModule`).
string exactly.
Return the capsule's internal *pointer* on success. On failure, set an
exception and return ``NULL``.
.. versionchanged:: 3.3
*no_block* has no effect anymore.
.. c:function:: int PyCapsule_IsValid(PyObject *capsule, const char *name)

View File

@ -0,0 +1,2 @@
Document that the *no_block* argument to :c:func:`PyCapsule_Import` is a
no-op now.

View File

@ -214,13 +214,9 @@ PyCapsule_Import(const char *name, int no_block)
}
if (object == NULL) {
if (no_block) {
object = PyImport_ImportModule(trace);
} else {
object = PyImport_ImportModule(trace);
if (!object) {
PyErr_Format(PyExc_ImportError, "PyCapsule_Import could not import module \"%s\"", trace);
}
object = PyImport_ImportModule(trace);
if (!object) {
PyErr_Format(PyExc_ImportError, "PyCapsule_Import could not import module \"%s\"", trace);
}
} else {
PyObject *object2 = PyObject_GetAttrString(object, trace);