A
ara.t.howard
That's not going to work. The various exit handlers already have a
reference to the cleanup proc, so reassigning the cleanup variable
will not prevent it from getting called twice. I know that global
variables are ugly, but there is a time and a place for everything.
And it's way too clever for me
the whole code:
cfp:~ > cat a.rb
cleanup = lambda do
cleanup = lambda{}
p :cleanup
end
Signal.trap('HUP'){ cleanup.call }
Signal.trap('USR1'){ cleanup.call }
Process.kill 'HUP', Process.pid
Process.kill 'USR1', Process.pid
cfp:~ > ruby a.rb
:cleanup
just avoids needing an external/global switch...
a @ http://codeforpeople.com/