https://github.com/python/cpython/commit/03fa2df92707b543c304a426732214002f81d671
commit: 03fa2df92707b543c304a426732214002f81d671
branch: main
author: Eric Snow <[email protected]>
committer: ericsnowcurrently <[email protected]>
date: 2024-06-21T13:05:53-06:00
summary:
gh-120838: Add a Note in the Docs About Expectations for Py_Finalize()
(gh-120839)
files:
M Doc/c-api/init.rst
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 58c79031de5320..6b454131d87075 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -396,9 +396,16 @@ Initializing and finalizing the interpreter
:c:func:`Py_NewInterpreter` below) that were created and not yet destroyed
since
the last call to :c:func:`Py_Initialize`. Ideally, this frees all memory
allocated by the Python interpreter. This is a no-op when called for a
second
- time (without calling :c:func:`Py_Initialize` again first). Normally the
- return value is ``0``. If there were errors during finalization
- (flushing buffered data), ``-1`` is returned.
+ time (without calling :c:func:`Py_Initialize` again first).
+
+ Since this is the reverse of :c:func:`Py_Initialize`, it should be called
+ in the same thread with the same interpreter active. That means
+ the main thread and the main interpreter.
+ This should never be called while :c:func:`Py_RunMain` is running.
+
+ Normally the return value is ``0``.
+ If there were errors during finalization (flushing buffered data),
+ ``-1`` is returned.
This function is provided for a number of reasons. An embedding application
might want to restart Python without having to restart the application
itself.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]