summaryrefslogtreecommitdiff
path: root/Python/sysmodule.c
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2015-01-22 17:53:24 -0800
committerGregory P. Smith <greg@krypto.org>2015-01-22 17:53:24 -0800
commitf96f55a3d0202f625ddb021e4768f39a08594b1b (patch)
tree5635e9e954272393a993fdaa3cf563e91f86f383 /Python/sysmodule.c
parenta442c1f64b48e61b2c1e8f8e4cf56858f3e9221c (diff)
parent2e0399ab422ca2b0224c0bffcf7535c855789091 (diff)
downloadcpython-f96f55a3d0202f625ddb021e4768f39a08594b1b.tar.gz
Only pass -E to the child interpreter if our interpreter was running in that
mode. Explicitly remove the PYTHONFAULTHANDLER environment variable before launching a child interpreter when its presence would impact the test (the reason -E was being used in the first place). This enables running the test in an environment where other Python environment variables must be set in order for things to run (such as using PYTHONHOME to tell an embedded interpreter where it should think it lives).
Diffstat (limited to 'Python/sysmodule.c')
-rw-r--r--Python/sysmodule.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 290eec1199..0639231282 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
@@ -1681,7 +1692,7 @@ _PySys_Init(void)
}
#endif
- /* stdin/stdout/stderr are now set by pythonrun.c */
+ /* stdin/stdout/stderr are set in pylifecycle.c */
SET_SYS_FROM_STRING_BORROW("__displayhook__",
PyDict_GetItemString(sysdict, "displayhook"));