summaryrefslogtreecommitdiffstats
path: root/Python/sysmodule.c
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2014-12-07 00:28:27 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2014-12-07 00:28:27 (GMT)
commit5db1bb81ff88c90364cfcf458bae8115126411d8 (patch)
tree334a5d67f565b3a103f068a82147b6bede9e1b20 /Python/sysmodule.c
parentb9859daeeb8ad767d2b2cc56f72736810114dd49 (diff)
downloadcpython-5db1bb81ff88c90364cfcf458bae8115126411d8.zip
cpython-5db1bb81ff88c90364cfcf458bae8115126411d8.tar.gz
cpython-5db1bb81ff88c90364cfcf458bae8115126411d8.tar.bz2
Issue #22696: Add function :func:`sys.is_finalizing` to know about interpreter shutdown.
Diffstat (limited to 'Python/sysmodule.c')
-rw-r--r--Python/sysmodule.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 6fb882f..aa4046f 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1121,6 +1121,16 @@ PyDoc_STRVAR(sys_clear_type_cache__doc__,
"_clear_type_cache() -> None\n\
Clear the internal type lookup cache.");
+static PyObject *
+sys_is_finalizing(PyObject* self, PyObject* args)
+{
+ return PyBool_FromLong(_Py_Finalizing != NULL);
+}
+
+PyDoc_STRVAR(is_finalizing_doc,
+"is_finalizing()\n\
+Return True if Python is exiting.");
+
static PyMethodDef sys_methods[] = {
/* Might as well keep this in alphabetic order */
@@ -1167,6 +1177,7 @@ static PyMethodDef sys_methods[] = {
getwindowsversion_doc},
#endif /* MS_WINDOWS */
{"intern", sys_intern, METH_VARARGS, intern_doc},
+ {"is_finalizing", sys_is_finalizing, METH_NOARGS, is_finalizing_doc},
#ifdef USE_MALLOPT
{"mdebug", sys_mdebug, METH_VARARGS},
#endif