William E. Rubin wrote: > How does one detect Control-C? trap("INT"){ ... } > > I know that it raises an Interrupt, but there are other things that are > also Interrupts (such as Timeout::Error). The documentation at > ruby-doc.org doesn't list any details of class Interrupt, and the > "Programming Ruby" book at ruby-lang.org doesn't even seem to mention > that class Interrupt exists. > > Thanks. Interrupt is a subclass of SignalException (which is a subclass of Exception). As far as I can tell (based on what I see in eval.c) it's only used for trapping Unix signals*, i.e. whatever's in your signal.h file. Also, take a look at the Signal module. Regards, Dan * Works on Windows too, though the implementation is different, and likely requires a separate sleeper thread.