lib/dispatch-rider/subscriber.rb in dispatch-rider-0.2.4 vs lib/dispatch-rider/subscriber.rb in dispatch-rider-0.2.5

- old
+ new

@@ -28,14 +28,19 @@ @demultiplexer ||= DispatchRider::Demultiplexer.new(queue, dispatcher, error_handler) self end def process - interuption_count = 0 + Signal.trap("QUIT") { demultiplexer.stop } # signal number: 3 + Signal.trap("TERM") { demultiplexer.stop } # signal number: 15 + + # user interuption + already_interupted = false Signal.trap("INT") do - interuption_count += 1 - interuption_count < 2 ? demultiplexer.stop : exit(0) + already_interupted ? exit(0) : demultiplexer.stop + already_interupted = true end + demultiplexer.start end end end