From 0df002c45b0bf2bf23bb8c0a395e86f907a94d81 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sun, 27 Aug 2000 19:21:52 +0000 Subject: Add three new APIs: PyRun_AnyFileEx(), PyRun_SimpleFileEx(), PyRun_FileEx(). These are the same as their non-Ex counterparts but have an extra argument, a flag telling them to close the file when done. Then this is used by Py_Main() and execfile() to close the file after it is parsed but before it is executed. Adding APIs seems strange given the feature freeze but it's the only way I see to close the bug report without incompatible changes. [ Bug #110616 ] source file stays open after parsing is done (PR#209) --- Python/bltinmodule.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'Python/bltinmodule.c') diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index ea1269ed9e..c2a7499644 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -815,10 +815,7 @@ builtin_execfile(PyObject *self, PyObject *args) PyErr_SetFromErrno(PyExc_IOError); return NULL; } - res = PyRun_File(fp, filename, Py_file_input, globals, locals); - Py_BEGIN_ALLOW_THREADS - fclose(fp); - Py_END_ALLOW_THREADS + res = PyRun_FileEx(fp, filename, Py_file_input, globals, locals, 1); return res; } -- cgit v1.2.1