diff options
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r-- | Python/pythonrun.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c index e3d03a8..81ab78e 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -1562,14 +1562,10 @@ _PyErr_Display(PyObject *file, PyObject *unused, PyObject *value, PyObject *tb) Py_XDECREF(ctx.seen); /* Call file.flush() */ - PyObject *res = PyObject_CallMethodNoArgs(file, &_Py_ID(flush)); - if (!res) { + if (_PyFile_Flush(file) < 0) { /* Silently ignore file.flush() error */ PyErr_Clear(); } - else { - Py_DECREF(res); - } } void @@ -1674,11 +1670,7 @@ flush_io_stream(PyThreadState *tstate, PyObject *name) { PyObject *f = _PySys_GetAttr(tstate, name); if (f != NULL) { - PyObject *r = PyObject_CallMethodNoArgs(f, &_Py_ID(flush)); - if (r) { - Py_DECREF(r); - } - else { + if (_PyFile_Flush(f) < 0) { PyErr_Clear(); } } |