diff --git a/exe/diversipub b/exe/diversipub index b300bcf..81a44b1 100755 --- a/exe/diversipub +++ b/exe/diversipub @@ -54,5 +54,6 @@ main = Diversipub::Main.new( stderr: $stderr, ) -trap('INT') { main.finish } if Signal.list['INT'] +trap('INT') { main.stop_gracefully } if Signal.list['INT'] +trap('TERM') { main.stop_urgently } if Signal.list['TERM'] exit main.run diff --git a/lib/diversipub/main.rb b/lib/diversipub/main.rb index 4de8f8e..0095aeb 100644 --- a/lib/diversipub/main.rb +++ b/lib/diversipub/main.rb @@ -29,12 +29,13 @@ module Diversipub true end - def finish - puts 'finishing' + def stop_gracefully puma.stop nil end + alias stop_urgently stop_gracefully + private attr_writer :stdin, :stdout, :stderr