This module implements set_sig_handler(), which sets up a signal handler and (optionally) returns an object which causes the signal handler to be reset to the previous value, when it goes out of scope. Also implemented is timeout_call() which takes a timeout value and a code reference, and executes the code reference wrapped with an alarm timeout. Finally, two convenience routines are defined which allow one to get the signal name from the number -- sig_name(), and get the signal number from the name -- sig_number().