Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Distinguish between alarm() and manual interrupt

I have a long computation that needs to be repeated many times with different input. I want to limit each repetition to, say, a minute. Using alarm means that if I try to manually interrupt the whole thing, it will just assume that one repetition timed out. Is there a solution that doesn't involve restarting the worksheet?

while True:
    alarm(60)
    try:
        do_long_computation(random())
    except KeyboardInterrupt:
        continue
    alarm(0)