lib/sigurd/signal_handler.rb in sigurd-0.0.2 vs lib/sigurd/signal_handler.rb in sigurd-0.0.3
- old
+ new
@@ -3,10 +3,11 @@
module Sigurd
# Class that takes any object with a "start" and "stop" method and catches
# signals to ask them to stop nicely.
class SignalHandler
SIGNALS = %i(INT TERM QUIT).freeze
+ attr_reader :runner
# Takes any object that responds to the `start` and `stop` methods.
# @param runner[#start, #stop]
def initialize(runner)
@signal_queue = []
@@ -33,10 +34,10 @@
end
end
private
- attr_reader :reader, :writer, :signal_queue, :runner
+ attr_reader :reader, :writer, :signal_queue
# https://stackoverflow.com/questions/29568298/run-code-when-signal-is-sent-but-do-not-trap-the-signal-in-ruby
def prepend_handler(signal)
previous = Signal.trap(signal) do
previous = -> { raise SignalException, signal } unless previous.respond_to?(:call)