From cffdefe956b44afa3a492ab80ae04570e1528574 Mon Sep 17 00:00:00 2001 From: Giorgi Kavrelishvili Date: Sat, 11 May 2024 17:13:45 +0400 Subject: [PATCH 1/2] Add versioned interrupt signal to support older versions of Crystal --- src/grip.cr | 9 +++++++++ src/grip/application.cr | 24 +++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/grip.cr b/src/grip.cr index 320d12c..9bc6e34 100644 --- a/src/grip.cr +++ b/src/grip.cr @@ -25,3 +25,12 @@ require "./grip/routers/*" require "./grip/*" module Grip; end + +class Application < Grip::Application + def initialize() + super("development", false) + end +end + +app = Application.new +app.run \ No newline at end of file diff --git a/src/grip/application.cr b/src/grip/application.cr index 3551f46..67619b3 100644 --- a/src/grip/application.cr +++ b/src/grip/application.cr @@ -118,7 +118,29 @@ module Grip Log.info { "Listening at #{schema}://#{host}:#{port}" } if @environment != "test" - Process.on_interrupt { exit } + {% begin %} + {% version = Crystal::VERSION.split(".").map(&.to_i) %} + + {% major = version[0] %} + {% minor = version[1] %} + {% patch = version[2] %} + + # 0.X.X + {% if major < 1 %} + Signal::INT.trap { exit } + {% end %} + + # 1.0.0 to 1.11.X + {% if major == 1 && minor < 12 %} + Process.on_interrupt { exit } + {% end %} + + # 1.12.X to 1.X.X + {% if major == 1 && minor >= 12 %} + Process.on_terminate { exit } + {% end %} + {% end %} + server.listen end end From 4d20600d5d77e8c7611977d84f6971d64d44d6ac Mon Sep 17 00:00:00 2001 From: Giorgi Kavrelishvili Date: Sat, 11 May 2024 17:14:40 +0400 Subject: [PATCH 2/2] Remove extra added code --- src/grip.cr | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/grip.cr b/src/grip.cr index 9bc6e34..320d12c 100644 --- a/src/grip.cr +++ b/src/grip.cr @@ -25,12 +25,3 @@ require "./grip/routers/*" require "./grip/*" module Grip; end - -class Application < Grip::Application - def initialize() - super("development", false) - end -end - -app = Application.new -app.run \ No newline at end of file