Module: Signal

Defined in:
lib/madvertise/ext/signal.rb

Class Method Summary collapse

Class Method Details

.register_shutdown_handler(&block) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/madvertise/ext/signal.rb', line 2

def self.register_shutdown_handler(&block)
  signals = %w(INT TERM)

  # The signal QUIT is in use by the JVM itself
  signals << 'QUIT' unless RUBY_PLATFORM == 'java'

  signals.each do |sig|
    old = trap(sig) {}
    trap(sig) { block.call; old.call }
  end
end