summaryrefslogtreecommitdiffstats
path: root/Doc/c-api/capsule.rst
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2018-05-18 13:32:54 (GMT)
committerGitHub <noreply@github.com>2018-05-18 13:32:54 (GMT)
commitbde3e0bf096219234321ca9898fc3d3aed598453 (patch)
tree6c760f5512c8864834edc71ebfb2e1e19fc28a72 /Doc/c-api/capsule.rst
parentd89ca94847d943b883ebcc68e4f0a18cb042ed0d (diff)
downloadcpython-bde3e0bf096219234321ca9898fc3d3aed598453.zip
cpython-bde3e0bf096219234321ca9898fc3d3aed598453.tar.gz
cpython-bde3e0bf096219234321ca9898fc3d3aed598453.tar.bz2
Fix C API docs: PyCapsule_Import always set an exception on failure. (GH-6967)
Diffstat (limited to 'Doc/c-api/capsule.rst')
-rw-r--r--Doc/c-api/capsule.rst11
1 files changed, 9 insertions, 2 deletions
diff --git a/Doc/c-api/capsule.rst b/Doc/c-api/capsule.rst
index b8642d0..8eb6695 100644
--- a/Doc/c-api/capsule.rst
+++ b/Doc/c-api/capsule.rst
@@ -9,6 +9,8 @@ Capsules
Refer to :ref:`using-capsules` for more information on using these objects.
+.. versionadded:: 3.1
+
.. c:type:: PyCapsule
@@ -19,6 +21,7 @@ Refer to :ref:`using-capsules` for more information on using these objects.
regular import mechanism can be used to access C APIs defined in dynamically
loaded modules.
+
.. c:type:: PyCapsule_Destructor
The type of a destructor callback for a capsule. Defined as::
@@ -104,8 +107,8 @@ Refer to :ref:`using-capsules` for more information on using these objects.
import the module conventionally (using :c:func:`PyImport_ImportModule`).
Return the capsule's internal *pointer* on success. On failure, set an
- exception and return *NULL*. However, if :c:func:`PyCapsule_Import` failed to
- import the module, and *no_block* was true, no exception is set.
+ exception and return *NULL*.
+
.. c:function:: int PyCapsule_IsValid(PyObject *capsule, const char *name)
@@ -122,18 +125,21 @@ Refer to :ref:`using-capsules` for more information on using these objects.
Return a nonzero value if the object is valid and matches the name passed in.
Return ``0`` otherwise. This function will not fail.
+
.. c:function:: int PyCapsule_SetContext(PyObject *capsule, void *context)
Set the context pointer inside *capsule* to *context*.
Return ``0`` on success. Return nonzero and set an exception on failure.
+
.. c:function:: int PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor)
Set the destructor inside *capsule* to *destructor*.
Return ``0`` on success. Return nonzero and set an exception on failure.
+
.. c:function:: int PyCapsule_SetName(PyObject *capsule, const char *name)
Set the name inside *capsule* to *name*. If non-*NULL*, the name must
@@ -142,6 +148,7 @@ Refer to :ref:`using-capsules` for more information on using these objects.
Return ``0`` on success. Return nonzero and set an exception on failure.
+
.. c:function:: int PyCapsule_SetPointer(PyObject *capsule, void *pointer)
Set the void pointer inside *capsule* to *pointer*. The pointer may not be