[Python-ideas] IDEA: do not alter default SIGINT handling
steve at pearwood.info
Mon Sep 14 02:16:21 CEST 2009
On Mon, 14 Sep 2009 07:35:56 am Benjamin Peterson wrote:
> Bernie Innocenti <bernie at ...> writes:
> > If we could break the syntax of "print" statements, I'm sure we
> > can also find a satisfactory compromise for CTRL-C handling that
> > won't affect more than 0.1% of existing Python programs.
> It would actually be a huge compatibility break because finally
> statments would no longer be garunteed to execute.
Guarantee not a guarantee :) Finally statements are only guaranteed to
execute if the Python process isn't killed or otherwise interrupted.
You can kill an unresponsive Python program from the outside, (say)
with ctrl-\, and the finally clause never executes:
... t = time.time()
... while 1:
... print "finished infinite loop in %f seconds" % (time.time() - t)
I think it's worth considering what the OP's real complaint is: namely,
that (some? all?) C extensions can't be interrupted by ctrl-C as the
user would expect. Is that a valid issue, or is it expected that Python
has no control over what happens inside the C extension?
More information about the Python-ideas