This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2013年01月25日 22:01 by vstinner, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| bc88690df059.patch | vstinner, 2013年01月29日 12:54 | review | ||
| Repositories containing patches | |||
|---|---|---|---|
| http://hg.python.org/features/pep-433 | |||
| Messages (10) | |||
|---|---|---|---|
| msg180630 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月25日 22:01 | |
I create this issue to review and track the implementation of the PEP 433: "Easier suppression of file descriptor inheritance" http://www.python.org/dev/peps/pep-0433/ |
|||
| msg180636 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月26日 01:00 | |
Here is a patch of the latest revision. configure and Python/importlib.h must be regenerated (are not part of the diff). |
|||
| msg180637 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月26日 01:51 | |
I tested 9bdfa1a3ea8c.patch on Fedora 16 (Linux 3.6, glibc 2.14), Debian Etch (Linux 2.6.19), OpenBSD 5.2, OpenIndiana, FreeBSD 8.2, Windows 7. I tested both cases (works/not supported) for O_CLOEXEC and SOCK_CLOEXEC. For the WSA_FLAG_NO_HANDLE_INHERIT flag, I only tested a Windows version not supporting it (Windows 7 SP1 is required). |
|||
| msg180638 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月26日 01:52 | |
The select module may need more work. |
|||
| msg180903 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月29日 12:54 | |
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. |
|||
| msg180904 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月29日 12:56 | |
My TODO list is almost empty: the implementation is done. I just see possible enhancement on Windows: socket.socket() and os.dup() can use an atomic flag to set close-on-exec if native functions are used (WSASocket, DuplicateHandle) instead of the POSIX API. But it can be done later. |
|||
| msg180907 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月29日 13:10 | |
"revert enhancements using cloexec=True to simplify the patch: will be done in another issue" I just created the issue #17070 to track this task. |
|||
| msg180908 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月29日 13:16 | |
> My TODO list is almost empty Oh, I forgot one point: I stil don't know if the close-on-exec flag of file descriptors of pass_fds argument of subprocess.Popen should be set. If close-on-exec flag is set globally, it's not convinient to have to clear the flag manually on each file descriptor. |
|||
| msg180957 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年01月29日 23:10 | |
I tested bc88690df059.patch on Solaris 9: test_os failed on openpty(cloexec=True). It looks like setting close-on-exec on master_fd must be done after grantpt(). |
|||
| msg196411 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2013年08月28日 19:56 | |
The PEP 433 was rejected, replaced with the PEP 446. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:40 | admin | set | github: 61238 |
| 2013年08月28日 19:56:42 | vstinner | set | status: open -> closed superseder: Implementation of the PEP 446: non-inheritable file descriptors resolution: rejected messages: + msg196411 |
| 2013年07月27日 15:21:43 | vstinner | set | files: - ecc10f0afb76.diff |
| 2013年07月27日 15:20:37 | vstinner | set | files: + ecc10f0afb76.diff |
| 2013年04月09日 22:15:51 | vstinner | link | issue16850 superseder |
| 2013年01月29日 23:10:50 | vstinner | set | messages: + msg180957 |
| 2013年01月29日 13:26:50 | vstinner | set | files: - 9bdfa1a3ea8c.patch |
| 2013年01月29日 13:16:17 | vstinner | set | messages: + msg180908 |
| 2013年01月29日 13:10:26 | vstinner | set | messages: + msg180907 |
| 2013年01月29日 12:56:35 | vstinner | set | messages: + msg180904 |
| 2013年01月29日 12:54:36 | vstinner | set | files:
+ bc88690df059.patch messages: + msg180903 |
| 2013年01月26日 03:03:30 | Arfrever | set | nosy:
+ Arfrever |
| 2013年01月26日 01:52:24 | vstinner | set | messages: + msg180638 |
| 2013年01月26日 01:51:47 | vstinner | set | messages: + msg180637 |
| 2013年01月26日 01:00:50 | vstinner | set | files:
+ 9bdfa1a3ea8c.patch messages: + msg180636 |
| 2013年01月26日 00:26:13 | vstinner | set | files: - 297b3529876a.diff |
| 2013年01月25日 22:02:40 | vstinner | set | files:
+ 297b3529876a.diff keywords: + patch |
| 2013年01月25日 22:01:25 | vstinner | create | |