Descriptiob: fixes runtime error at Dyson: python could not open any file because set_inheritable() failed. FIOCLEX/FIONCLEX are defined at illumos but do not really work. Other functions already rely on FD_CLOEXEC, so use it for set_inheritable() too Index: python3.4-3.4.1/Python/fileutils.c =================================================================== --- python3.4-3.4.1.orig/Python/fileutils.c +++ python3.4-3.4.1/Python/fileutils.c @@ -622,10 +622,7 @@ set_inheritable(int fd, int inheritable, #ifdef MS_WINDOWS HANDLE handle; DWORD flags; -#elif defined(HAVE_SYS_IOCTL_H) && defined(FIOCLEX) && defined(FIONCLEX) - int request; - int err; -#elif defined(HAVE_FCNTL_H) +#else int flags; int res; #endif @@ -670,19 +667,6 @@ set_inheritable(int fd, int inheritable, return -1; } return 0; - -#elif defined(HAVE_SYS_IOCTL_H) && defined(FIOCLEX) && defined(FIONCLEX) - if (inheritable) - request = FIONCLEX; - else - request = FIOCLEX; - err = ioctl(fd, request, NULL); - if (err) { - if (raise) - PyErr_SetFromErrno(PyExc_OSError); - return -1; - } - return 0; #else flags = fcntl(fd, F_GETFD);