[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.

-- 
Paul


More information about the Python-Dev mailing list