diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-06-17 08:45:26 (GMT) |
---|---|---|
committer | Victor Stinner <vstinner@redhat.com> | 2019-06-17 08:45:26 (GMT) |
commit | 693945d45dfe50c843970cab3e3aa1fa3a3eddbe (patch) | |
tree | 777fbe3c67a84a9346041723e57fa1ebead64656 /Python | |
parent | ad505918a1829e6fa2a48a7665234d60a9377e98 (diff) | |
download | cpython-693945d45dfe50c843970cab3e3aa1fa3a3eddbe.zip cpython-693945d45dfe50c843970cab3e3aa1fa3a3eddbe.tar.gz cpython-693945d45dfe50c843970cab3e3aa1fa3a3eddbe.tar.bz2 |
bpo-37267: Do not check for FILE_TYPE_CHAR in os.dup() on Windows (GH-14051) (GH-14140)
On Windows, os.dup() no longer creates an inheritable fd when handling a
character file.
(cherry picked from commit 28fca0c422b425a6be43be31add0a5328c16b0b8)
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Diffstat (limited to 'Python')
-rw-r--r-- | Python/fileutils.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/Python/fileutils.c b/Python/fileutils.c index 178e2f1..93c093f 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -1776,7 +1776,6 @@ _Py_dup(int fd) { #ifdef MS_WINDOWS HANDLE handle; - DWORD ftype; #endif assert(PyGILState_Check()); @@ -1790,9 +1789,6 @@ _Py_dup(int fd) return -1; } - /* get the file type, ignore the error if it failed */ - ftype = GetFileType(handle); - Py_BEGIN_ALLOW_THREADS _Py_BEGIN_SUPPRESS_IPH fd = dup(fd); @@ -1803,14 +1799,11 @@ _Py_dup(int fd) return -1; } - /* Character files like console cannot be make non-inheritable */ - if (ftype != FILE_TYPE_CHAR) { - if (_Py_set_inheritable(fd, 0, NULL) < 0) { - _Py_BEGIN_SUPPRESS_IPH - close(fd); - _Py_END_SUPPRESS_IPH - return -1; - } + if (_Py_set_inheritable(fd, 0, NULL) < 0) { + _Py_BEGIN_SUPPRESS_IPH + close(fd); + _Py_END_SUPPRESS_IPH + return -1; } #elif defined(HAVE_FCNTL_H) && defined(F_DUPFD_CLOEXEC) Py_BEGIN_ALLOW_THREADS |