Eryk Sun <eryk...@gmail.com> added the comment:

For whatever the reason and Windows version, it's still the case that 
_get_handles() should work around any bad standard handles in the current 
process. In bpo-25492, I suggested checking os.get_handle_inheritable(). That's 
too permissive. It should require a valid file handle, checked via 
_winapi.GetFileType(). For example:

    if stdin is None:
        p2cread = _winapi.GetStdHandle(_winapi.STD_INPUT_HANDLE)
        if p2cread is not None:
            try:
                _winapi.GetFileType(p2cread)
            except OSError:
                p2cread = None

----------
components: +Library (Lib)
versions: +Python 3.10, Python 3.9 -Python 2.7, Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue3905>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to