bpo-38159: Clarify documentation of PyState_AddModule (GH-16101)

This was never intented to be called manually from PyInit_*.

Also, clarify PyState_RemoveModule return value.
This commit is contained in:
Petr Viktorin 2019-11-01 16:47:05 +01:00 committed by GitHub
parent 112f2b805b
commit 9bc94eca0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 0 deletions

View File

@ -485,10 +485,21 @@ since multiple such modules can be created from a single definition.
Only effective on modules created using single-phase initialization.
Python calls ``PyState_AddModule`` automatically after importing a module,
so it is unnecessary (but harmless) to call it from module initialization
code. An explicit call is needed only if the module's own init code
subsequently calls ``PyState_FindModule``.
The function is mainly intended for implementing alternative import
mechanisms (either by calling it directly, or by referring to its
implementation for details of the required state updates).
Return 0 on success or -1 on failure.
.. versionadded:: 3.3
.. c:function:: int PyState_RemoveModule(PyModuleDef *def)
Removes the module object created from *def* from the interpreter state.
Return 0 on success or -1 on failure.
.. versionadded:: 3.3