https://github.com/python/cpython/commit/a57d917a48a74b462a896e502141a7bf7118d035 commit: a57d917a48a74b462a896e502141a7bf7118d035 branch: 3.12 author: Miss Islington (bot) <[email protected]> committer: ericsnowcurrently <[email protected]> date: 2024-06-21T19:12:08Z summary:
[3.12] gh-120838: Add a Note in the Docs About Expectations for Py_Finalize() (gh-120853) (cherry picked from commit 03fa2df92707b543c304a426732214002f81d671, AKA gh-120839) Co-authored-by: Eric Snow <[email protected]> files: M Doc/c-api/init.rst diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index a51f1da6b66104..8b7b28ae319200 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -388,9 +388,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]
