summaryrefslogtreecommitdiffstats
path: root/Doc/c-api/init.rst
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-08-02 17:49:38 (GMT)
committerEric Snow <ericsnowcurrently@gmail.com>2019-08-02 17:49:38 (GMT)
commit375f35be0688da0fc0f27afc4faea76590d7c24d (patch)
treec96eb77166ee2d008bafaca412156a8d31ccd2f6 /Doc/c-api/init.rst
parent1cc70322c99b80c123f9ff23a415d3da28b4ec74 (diff)
downloadcpython-375f35be0688da0fc0f27afc4faea76590d7c24d.zip
cpython-375f35be0688da0fc0f27afc4faea76590d7c24d.tar.gz
cpython-375f35be0688da0fc0f27afc4faea76590d7c24d.tar.bz2
bpo-36487: Make C-API docs clear about what the main interpreter is. (gh-15080)
(cherry picked from commit 854d0a4b98b13629252e21edaf2b785b429e5135) (gh-12666) Co-authored-by: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com>
Diffstat (limited to 'Doc/c-api/init.rst')
-rw-r--r--Doc/c-api/init.rst16
1 files changed, 12 insertions, 4 deletions
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index a0ac4d2..4985a1d 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -1141,10 +1141,18 @@ Sub-interpreter support
While in most uses, you will only embed a single Python interpreter, there
are cases where you need to create several independent interpreters in the
-same process and perhaps even in the same thread. Sub-interpreters allow
-you to do that. You can switch between sub-interpreters using the
-:c:func:`PyThreadState_Swap` function. You can create and destroy them
-using the following functions:
+same process and perhaps even in the same thread. Sub-interpreters allow
+you to do that.
+
+The "main" interpreter is the first one created when the runtime initializes.
+It is usually the only Python interpreter in a process. Unlike sub-interpreters,
+the main interpreter has unique process-global responsibilities like signal
+handling. It is also responsible for execution during runtime initialization and
+is usually the active interpreter during runtime finalization. The
+:c:func:`PyInterpreterState_Main` funtion returns a pointer to its state.
+
+You can switch between sub-interpreters using the :c:func:`PyThreadState_Swap`
+function. You can create and destroy them using the following functions:
.. c:function:: PyThreadState* Py_NewInterpreter()