Class: TCB::EventBus::TerminationSignalHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/tcb/event_bus/termination_signal_handler.rb

Instance Method Summary collapse

Constructor Details

#initialize(event_bus:, shutdown_timeout:, signals:, on_signal:) ⇒ TerminationSignalHandler

Returns a new instance of TerminationSignalHandler.



6
7
8
9
10
11
12
13
# File 'lib/tcb/event_bus/termination_signal_handler.rb', line 6

def initialize(event_bus:, shutdown_timeout:, signals:, on_signal:)
  @event_bus = event_bus
  @shutdown_timeout = shutdown_timeout
  @signals = signals
  @on_signal = on_signal
  @shutdown_thread = nil
  @original_handlers = {}
end

Instance Method Details

#installObject



15
16
17
18
19
# File 'lib/tcb/event_bus/termination_signal_handler.rb', line 15

def install
  @signals.each do |sig|
    @original_handlers[sig] = Signal.trap(sig) { handle_signal(sig) }
  end
end