[Python-Dev] RFC: PEP 475, Retry system calls failing with EINTR

Marko Rauhamaa marko at pacujo.net
Mon Sep 1 00:04:52 CEST 2014


Victor Stinner <victor.stinner at gmail.com>:

> But I don't get you point. How does this PEP make the situation worse?

Did I say it would? I just wanted to make sure the system call
resumption doesn't become mandatory.

Haven't thought through what the exception raising technique would
entail. It might be perfectly ok apart from being a change to the signal
handler API.

> I don't know issues of signals with select() (and without a file
> descriptor used to wake up it).

A signal handler often sets a flag, which is inspected when select()
returns. The problem is when a signal arrives between testing the flag
and calling select(). The pselect() system call allows you to block
signals and have the system call unblock them correctly to avoid the
race.


Marko


More information about the Python-Dev mailing list