From: Brian Candler Date: 2003-03-25T21:26:42+09:00 Subject: Change request: return value from 'trap' I notice that in ruby-1.6.8, the return value from 'trap' is nil if the current signal is either DEFAULT or IGNORE. What I'd like to be able to do is to override and then later restore a signal handler, like this: oldsig = trap('SIGUSR1') { ... stuff ... } ... trap('SIGUSR1',oldsig) However, it seems that passing nil is the same as 'IGNORE', so this will wrongly change 'DEFAULT' into 'IGNORE'. If I know that I want default handling then I can do: trap('SIGUSR1',oldsig || 'DEFAULT') But wouldn't it be better if trap returned 'DEFAULT' or 'IGNORE' as the previous state of the signal handler? Regards, Brian.