On 2012年04月02日, at 4:49 PM, Paul Colomiets wrote: > l.lock() > try: > ... > finally: > l.unlock() >> Which will break if you interrupted just after lock is acquired. I guess the best way to solve this puzzle, is to track all locks that the thread acquires and release them in case of forced interruption. - Yury