New submission from cagney <andrew.cag...@gmail.com>:

pty.openpty(), on systems with a working os.openpty() / openpty(3) executes:

    if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) != 0)
        goto posix_error;
    if (_Py_set_inheritable(master_fd, 0, NULL) < 0)
        goto error;
    if (_Py_set_inheritable(slave_fd, 0, NULL) < 0)
        goto error;

where as on systems where this is fails it instead executes:

    master_fd, slave_name = _open_terminal()
    slave_fd = slave_open(slave_name)
        i.e., result = os.open(tty_name, os.O_RDWR)
    return master_fd, slave_fd

where os.open() was "Changed in version 3.4: The new file descriptor is now 
non-inheritable."

(personally I'd deprecate pty.openpty(), but that is just me)

----------
components: IO
messages: 339982
nosy: cagney
priority: normal
severity: normal
status: open
title: should pty.openpty() set pty/tty inheritable?
versions: Python 3.7

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

Reply via email to