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.

classification
Title: PEP 475: _posixsubprocess retries close() on EINTR
Type: Stage:
Components: Versions: Python 3.4, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: python-dev, vstinner
Priority: normal Keywords:

Created on 2015-04-02 11:54 by vstinner, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (2)
msg239907 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015-04-02 11:54
According to the PEP 475, the close() function must *not* be retried if it fails with EINTR:
- http://alobbs.com/post/54503240599/close-and-eintr
- http://lwn.net/Articles/576478/
- http://linux.derkeiler.com/Mailing-Lists/Kernel/2005-09/3000.html
- http://alobbs.com/post/54503240599/close-and-eintr

The _posixsubprocess retries close() when it fails with EINTR. Example:

    while (close(fd_num) < 0 && errno == EINTR);

It should be fixed.
msg239918 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015-04-02 14:26
New changeset e54b23d7afa6 by Victor Stinner in branch '3.4':
Issue #23851: close() must not be retried when it fails with EINTR
https://hg.python.org/cpython/rev/e54b23d7afa6
History
Date User Action Args
2022-04-11 14:58:15adminsetgithub: 68039
2015-04-02 14:26:43vstinnersetstatus: open -> closed
resolution: fixed
versions: - Python 2.7
2015-04-02 14:26:33python-devsetnosy: + python-dev
messages: + msg239918
2015-04-02 11:54:58vstinnerlinkissue23648 dependencies
2015-04-02 11:54:34vstinnercreate