]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45855: document that `no_block` has no use anymore in PyCapsule_Import (#29665)
authorGeorg Brandl <georg@python.org>
Sun, 12 Dec 2021 09:49:50 +0000 (10:49 +0100)
committerGitHub <noreply@github.com>
Sun, 12 Dec 2021 09:49:50 +0000 (10:49 +0100)
Doc/c-api/capsule.rst
Misc/NEWS.d/next/C API/2021-12-12-10-09-02.bpo-45855.MVsTDj.rst [new file with mode: 0644]
Objects/capsule.c

index 908e92653dd483791159e466e4c3fd0260a430c3..2c4cfc48f9a27a53b9985ef820ee12e1086aa395 100644 (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)
 
diff --git a/Misc/NEWS.d/next/C API/2021-12-12-10-09-02.bpo-45855.MVsTDj.rst b/Misc/NEWS.d/next/C API/2021-12-12-10-09-02.bpo-45855.MVsTDj.rst
new file mode 100644 (file)
index 0000000..e00d56e
--- /dev/null
@@ -0,0 +1,2 @@
+Document that the *no_block* argument to :c:func:`PyCapsule_Import` is a
+no-op now.
index 9c9dcf33f9f7570c2941d6065eeac3e8acbe64f2..606e50e69611335ec167866aeaa9aaef182c208f 100644 (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);