From: tsuraan Date: 2006-01-26T07:06:03+09:00 Subject: ensure statement and signals I have a program (currently written in python, but that could change :) that runs until it recieves a signal to exit. Before exiting, it needs to close a Lucene index, so the logical thing to do would be put that writer.close call in an ensure statement so that the index will close before the program exits. It looks like ruby (python as well) doesn't integrate external signals in the normal program flow at all. Is it possible to have a signal trigger an exception so that an ensure statement will be executed? My test code is: #!/usr/bin/env ruby begin sleep(1000) ensure p "hi there!" end And I run the script and send it all sort of signals (quit, int, term, hup, etc). Nothing makes the program print "hi there!" Can this be done?