summaryrefslogtreecommitdiff
path: root/Python/sysmodule.c
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2014-12-07 01:28:27 +0100
committerAntoine Pitrou <solipsis@pitrou.net>2014-12-07 01:28:27 +0100
commita8d66b4ff6f2d4115ccd355ab1b3bc8b263bde90 (patch)
tree640f6d1234725e3eecc46d20455bf0c2e492c1fd /Python/sysmodule.c
parentc37dfd4a3630d795c87a040ba3fefc960ca87977 (diff)
downloadcpython-a8d66b4ff6f2d4115ccd355ab1b3bc8b263bde90.tar.gz
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 6fb882f015..aa4046ff93 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