New patch:
- sys.setdefaultcloexec() takes again an argument, so sys.setdefaultcloexec(False) is allowed
- add cloexec parameter to select.devpoll(), select.kqueue() and select.epoll()
- when a function accepts a file name and a file descriptor: the cloexec parameter is ignored if the argument is a file descriptor (it was already done for open(), but not for socket.socket on Windows)
- revert enhancements using cloexec=True to simplify the patch: will be done in another issue
- fix various bugs in error handling (close newly created file descriptors on error)
- release the GIL when calling the os: os.urandom(), os.pipe(), os.dup(), etc. |