diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2015-04-12 00:08:35 +0200 |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2015-04-12 00:08:35 +0200 |
commit | 03e827ad49fbccdabdcbc136ba1022357ae29ae7 (patch) | |
tree | c9cb1db2a2c2c44f7109f8692ce36fa2f951e9c7 /Python/sysmodule.c | |
parent | 56c0b8f3adc0d7f2beaf1fed94d8c14e9b57c082 (diff) | |
parent | 352c8326fe87bbd37b0c5ca94eafb00fd280b848 (diff) | |
download | cpython-03e827ad49fbccdabdcbc136ba1022357ae29ae7.tar.gz |
Close #23904: fix pathlib documentation misleadingly mentioning that bytes objects are accepted in the PurePath constructor
Diffstat (limited to 'Python/sysmodule.c')
-rw-r--r-- | Python/sysmodule.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 290eec1199..9ec25216ed 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -772,6 +772,12 @@ static PyStructSequence_Desc windows_version_desc = { via indexing, the rest are name only */ }; +/* Disable deprecation warnings about GetVersionEx as the result is + being passed straight through to the caller, who is responsible for + using it correctly. */ +#pragma warning(push) +#pragma warning(disable:4996) + static PyObject * sys_getwindowsversion(PyObject *self) { @@ -803,6 +809,8 @@ sys_getwindowsversion(PyObject *self) return version; } +#pragma warning(pop) + #endif /* MS_WINDOWS */ #ifdef HAVE_DLOPEN @@ -1121,6 +1129,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 +1185,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 @@ -1670,8 +1689,8 @@ _PySys_Init(void) the shell already prevents that. */ #if !defined(MS_WINDOWS) { - struct stat sb; - if (fstat(fileno(stdin), &sb) == 0 && + struct _Py_stat_struct sb; + if (_Py_fstat_noraise(fileno(stdin), &sb) == 0 && S_ISDIR(sb.st_mode)) { /* There's nothing more we can do. */ /* Py_FatalError() will core dump, so just exit. */ @@ -1681,7 +1700,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")); |