The problem is that the sleep can't be interrupted.
I often use a convenient loop like this
while running: // do something e32.ao_sleep(1) # sleep a sec
Now in pys60 1.3.1, it's better to use e32.Ao_timer
timer = e32.Ao_timer() while running: // do something timer.after(1) # sleep a sec
I can then interupt the sleep with
timer.cancel()
in other part of the program if I need to continue the loop.
For example, I can end the application without waiting for
the last second.