Module SignalEmitter
In: lib/puppet/external/event-loop/signal-system.rb

Methods

Public Class methods

[Source]

    # 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

Public Instance methods

[Source]

    # 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

[Source]

     # 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

[Source]

    # 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

[Source]

    # File lib/puppet/external/event-loop/signal-system.rb, line 86
86:   def remove_signal_handler (name, handler)
87:     __maybe_initialize_signal_emitter
88:     @signal_handlers[name].delete(handler)
89:   end

[Validate]