[Python-Dev] PEP-419: Protecting cleanup statements from interruptions

Paul Colomiets paul at colomiets.name
Mon Apr 9 08:54:20 CEST 2012

Hi Antoine,

On Mon, Apr 9, 2012 at 12:06 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> Hello Paul,
> Thanks for the PEP and the description of the various issues.
>> An example implementation of a SIGINT handler that interrupts safely
>> might look like::
>>     import inspect, sys, functools
>>     def sigint_handler(sig, frame):
>>         if inspect.getcleanupframe(frame) is None:
>>             raise KeyboardInterrupt()
>>         sys.setcleanuphook(functools.partial(sigint_handler, 0))
> It is not clear whether you are proposing this for the default signal
> handler, or only as an example that third-party libraries or frameworks
> could implement.

Only as an example. The reason is in "Modifying KeyboardInterrupt"
section under "Unresolved Issues". So it might be changed if there
is demand.


More information about the Python-Dev mailing list