[Python-Dev] RFC: PEP 475, Retry system calls failing with EINTR
marko at pacujo.net
Mon Sep 1 13:15:52 CEST 2014
Charles-François Natali <cf.natali at gmail.com>:
>> Which raises an interesting question: what happens to the os.read()
>> return value if SIGINT is received?
> There's no return value, a KeywordInterrupt exception is raised.
> The PEP wouldn't change this behavior.
Slightly disconcerting... but I'm sure overriding SIGINT would cure
that. You don't want to lose data if you want to continue running.
> As for the general behavior: all programming languages/platforms
> handle EINTR transparently.
C doesn't. EINTR is there for a purpose. I sure hope Python won't bury
it under opaque APIs.
The two requirements are:
* Allow the application to react to signals immediately in the main
* Don't lose information.
More information about the Python-Dev