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)