| Module | SignalEmitter |
| In: |
lib/puppet/external/event-loop/signal-system.rb
|
# File lib/puppet/external/event-loop/signal-system.rb, line 65
65: def self.included (includer)
66: if not includer.kind_of? SignalEmitterClass
67: includer.extend SignalEmitterClass
68: end
69: end
# File lib/puppet/external/event-loop/signal-system.rb, line 71
71: def __maybe_initialize_signal_emitter
72: @signal_handlers ||= Hash.new { |h, k| h[k] = Array.new }
73: @allow_dynamic_signals ||= false
74: end
# File lib/puppet/external/event-loop/signal-system.rb, line 91
91: def __signal__ (name, *args, &block)
92: __maybe_initialize_signal_emitter
93: respond_to? "on_#{name}" or allow_dynamic_signals? or
94: fail "undefined signal `#{name}' for #{self}:#{self.class}"
95: __send__("handle_#{name}", *args, &block) if
96: respond_to? "handle_#{name}"
97: @signal_handlers[name].each { |x| x.call(*args, &block) }
98: __send__("after_handle_#{name}", *args, &block) if
99: respond_to? "after_handle_#{name}"
100: end
# File lib/puppet/external/event-loop/signal-system.rb, line 78
78: def add_signal_handler (name, &handler)
79: __maybe_initialize_signal_emitter
80: @signal_handlers[name] << handler
81: return handler
82: end