From: tsuraan Date: 2006-01-26T07:08:36+09:00 Subject: Re: ensure statement and signals Wow, I'm not smart. I had print in my actual test code, which doesn't do a newline. The message was lost in my ugly command prompt. So, it looks like Ruby handles this very nicely (with a SignalException). Sorry for the noise. On 25/01/06, tsuraan wrote: > 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? >