summaryrefslogtreecommitdiffstats
path: root/Modules/_posixsubprocess.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-03-17 23:22:14 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-03-17 23:22:14 (GMT)
commita555cfcb73cf677a99d29af6fa0bcfe4c35a2aeb (patch)
treefa88ce2ae8c7d2213dc3e80845405d0d8719308a /Modules/_posixsubprocess.c
parent6562b29e13f4da98558636c43a1b242698c8f8d9 (diff)
downloadcpython-a555cfcb73cf677a99d29af6fa0bcfe4c35a2aeb.zip
cpython-a555cfcb73cf677a99d29af6fa0bcfe4c35a2aeb.tar.gz
cpython-a555cfcb73cf677a99d29af6fa0bcfe4c35a2aeb.tar.bz2
Issue #23694: Enhance _Py_open(), it now raises exceptions
* _Py_open() now raises exceptions on error. If open() fails, it raises an OSError with the filename. * _Py_open() now releases the GIL while calling open() * Add _Py_open_noraise() when _Py_open() cannot be used because the GIL is not held
Diffstat (limited to 'Modules/_posixsubprocess.c')
-rw-r--r--Modules/_posixsubprocess.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c
index a8c2be2..a33df21 100644
--- a/Modules/_posixsubprocess.c
+++ b/Modules/_posixsubprocess.c
@@ -257,6 +257,7 @@ _close_open_fds_safe(int start_fd, PyObject* py_fds_to_keep)
fd_dir_fd = _Py_open(FD_DIR, O_RDONLY);
if (fd_dir_fd == -1) {
/* No way to get a list of open fds. */
+ PyErr_Clear();
_close_fds_by_brute_force(start_fd, py_fds_to_keep);
return;
} else {