KeyboardInterrupt from syscalls

Fredrik Tolf fredrik at dolda2000.com
Wed Nov 22 18:06:38 EST 2006


On Wed, 2006-11-22 at 19:45 +0100, Fredrik Lundh wrote:
> Fredrik Tolf wrote:
> 
> > So how does it work? Does my code get to return Py_FALSE, and the
> > interpreter ignores it, seeing that an exception is set? Is a non-local
> > exit performed right over my call stack (in which case my next question
> > would be how to clean up resources being used from my C code)? Or does
> > something completely else happen?
> 
> the signal handler adds an entry to a "pending calls" queue, which is 
> checked by the interpreter at regular intervals.

I see. So if I get that right, that would mean that if I, in my
function, would loop and retry when getting an EINTR instead of
returning, a KeyboardInterrupt from e.g. Ctrl-C would be delayed until
it has other reason to return?

Thanks for your answer!

Fredrik Tolf





More information about the Python-list mailing list