[issue22258] Use FD_CLOEXEC in Python/fileutils.c

2014-08-24 Thread Igor Pashev
Igor Pashev added the comment: errno is 25 (#define ENOTTY 25 /* Inappropriate ioctl for device */) It does not make sense to me to call unworkable ioctl() each time before other methods :-) I would consider adding a configure check for working ioctl() (but it won't work for cross

[issue22258] Use FD_CLOEXEC in Python/fileutils.c

2014-08-24 Thread STINNER Victor
STINNER Victor added the comment: I propose to only call ioctl() once, and then remember (in a static variable) that it doesn't work and then always call fcntl(). I can work on a patch. -- ___ Python tracker rep...@bugs.python.org

[issue22258] Use FD_CLOEXEC in Python/fileutils.c

2014-08-23 Thread Igor Pashev
New submission from Igor Pashev: I've found on illumos-based OS that under some conditions python is unable to open any files because set_inheritable() fails. This happens even when building python when it cannot find (open) _sysconfigdata.py. The problem is that set_inheritable() first

[issue22258] Use FD_CLOEXEC in Python/fileutils.c

2014-08-23 Thread Antoine Pitrou
Changes by Antoine Pitrou pit...@free.fr: -- nosy: +haypo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue22258 ___ ___ Python-bugs-list mailing

[issue22258] Use FD_CLOEXEC in Python/fileutils.c

2014-08-23 Thread STINNER Victor
STINNER Victor added the comment: The patch doesn't look correct. Ioctl() reduces the overhead in term of syscalls (1 vs 2). What is the errno value on failure? We should remember that ioctl() doesn't work and fallback to fcntl(). It would be more portable. Similar check is already done for