From 032b0b4cd7ca247da747d413a40c8bc9c2c89779 Mon Sep 17 00:00:00 2001 From: Tyler Treat Date: Tue, 27 Jun 2017 16:53:18 -0500 Subject: [PATCH] Address CR feedback --- server/reload.go | 12 ++++++------ server/signal.go | 5 +++-- server/signal_test.go | 3 +++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/server/reload.go b/server/reload.go index f374fa93..2d9cc1e5 100644 --- a/server/reload.go +++ b/server/reload.go @@ -257,13 +257,13 @@ func (s *Server) Reload() error { // Apply flags over config file settings. newOpts = MergeOptions(newOpts, FlagSnapshot) processOptions(newOpts) - err = s.reloadOptions(newOpts) - if err == nil { - s.mu.Lock() - s.configTime = time.Now() - s.mu.Unlock() + if err := s.reloadOptions(newOpts); err != nil { + return err } - return err + s.mu.Lock() + s.configTime = time.Now() + s.mu.Unlock() + return nil } // reloadOptions reloads the server config with the provided options. If an diff --git a/server/signal.go b/server/signal.go index 8b4f1d76..0c072722 100644 --- a/server/signal.go +++ b/server/signal.go @@ -49,7 +49,7 @@ func (s *Server) handleSignals() { // is empty, this will send the signal to the single running instance of // gnatsd. If multiple instances are running, it returns an error. This returns // an error if the given process is not running or the command is invalid. -func ProcessSignal(command Command, pidStr string) (err error) { +func ProcessSignal(command Command, pidStr string) error { var pid int if pidStr == "" { pids, err := resolvePids() @@ -77,6 +77,7 @@ func ProcessSignal(command Command, pidStr string) (err error) { pid = p } + var err error switch command { case CommandStop: err = kill(pid, syscall.SIGKILL) @@ -89,7 +90,7 @@ func ProcessSignal(command Command, pidStr string) (err error) { default: err = fmt.Errorf("unknown signal %q", command) } - return + return err } // resolvePids returns the pids for all running gnatsd processes. diff --git a/server/signal_test.go b/server/signal_test.go index 3329a0f3..a4cd0457 100644 --- a/server/signal_test.go +++ b/server/signal_test.go @@ -72,6 +72,9 @@ func TestSignalToReloadConfig(t *testing.T) { loaded := s.ConfigTime() + // Wait a bit to ensure ConfigTime changes. + time.Sleep(5 * time.Millisecond) + // This should cause config to be reloaded. syscall.Kill(syscall.Getpid(), syscall.SIGHUP) // Wait a bit for action to be performed