summaryrefslogtreecommitdiff
path: root/Python/sysmodule.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-02-03 09:30:51 +0200
committerSerhiy Storchaka <storchaka@gmail.com>2015-02-03 09:30:51 +0200
commitf8bf9e370f256d0c50127046a6aa9cb9172bb83c (patch)
tree49a77747ca6a66ba6be2ca033a69c2a2c0a8e74e /Python/sysmodule.c
parent1b9e42530b6406252fdbab73ab52dbf9e51a3421 (diff)
parentee72ac6e35df0db14bfc93642b2f326266d897ae (diff)
downloadcpython-f8bf9e370f256d0c50127046a6aa9cb9172bb83c.tar.gz
Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.
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"));