diff --git a/atreugo_unix.go b/atreugo_unix.go index 7431ae0..9728238 100644 --- a/atreugo_unix.go +++ b/atreugo_unix.go @@ -21,6 +21,10 @@ func (s *Atreugo) ServeGracefully(ln net.Listener) error { listenErr <- s.Serve(ln) }() + if s.cfg.GracefulShutdown && len(s.cfg.GracefulShutdownSignals) == 0 { + s.cfg.GracefulShutdownSignals = append(s.cfg.GracefulShutdownSignals, defaultGracefulShutdownSignals...) + } + osSignals := make(chan os.Signal, 1) signal.Notify(osSignals, s.cfg.GracefulShutdownSignals...) diff --git a/atreugo_unix_test.go b/atreugo_unix_test.go index bfd928e..d880156 100644 --- a/atreugo_unix_test.go +++ b/atreugo_unix_test.go @@ -101,6 +101,10 @@ func TestAtreugo_ServeGracefully(t *testing.T) { // nolint:funlen t.Errorf("Config.GracefulShutdown = %v, want %v", cfg.GracefulShutdown, true) } + if len(s.cfg.GracefulShutdownSignals) == 0 { + t.Errorf("Config.GracefulShutdownSignals is empty, want %v", defaultGracefulShutdownSignals) + } + lnAddr := ln.Addr().String() if s.cfg.Addr != lnAddr { t.Errorf("Atreugo.Config.Addr = %s, want %s", s.cfg.Addr, lnAddr)