Class: Daemon::Utils::Signal

Inherits:
Object
  • Object
show all
Extended by:
MonitorMixin
Defined in:
lib/onapp/engine/utils/signal.rb

Class Method Summary (collapse)

Class Method Details

+ (Object) on_error(&block)



9
10
11
12
13
14
# File 'lib/onapp/engine/utils/signal.rb', line 9

def on_error(&block)
  synchronize do
    old, @on_error = @on_error, block
    old
  end
end

+ (Object) trap(sig, &block)



16
17
18
19
20
21
# File 'lib/onapp/engine/utils/signal.rb', line 16

def trap(sig, &block)
  synchronize do
    ::Signal.trap(sig) { ::Thread.new { kill(sig) } }
    traps[sig] << block
  end
end

+ (Object) untrap(sig)



23
24
25
26
27
# File 'lib/onapp/engine/utils/signal.rb', line 23

def untrap(sig)
  synchronize do
    traps[sig].clear
  end
end