diff --git a/server/server.go b/server/server.go index 5a161cf6..50b9f5db 100644 --- a/server/server.go +++ b/server/server.go @@ -11,11 +11,9 @@ import ( "net" "net/http" "os" - "os/signal" "runtime" "strconv" "sync" - "syscall" "time" // Allow dynamic profiling. @@ -182,30 +180,6 @@ func PrintServerAndExit() { os.Exit(0) } -// Signal Handling -func (s *Server) handleSignals() { - if s.opts.NoSigs { - return - } - c := make(chan os.Signal, 1) - - signal.Notify(c, syscall.SIGINT, syscall.SIGUSR1) - - go func() { - for sig := range c { - Debugf("Trapped %q signal", sig) - switch sig { - case syscall.SIGINT: - Noticef("Server Exiting..") - os.Exit(0) - case syscall.SIGUSR1: - // File log re-open for rotating file logs. - s.ReOpenLogFile() - } - } - }() -} - // Protected check on running state func (s *Server) isRunning() bool { s.mu.Lock() diff --git a/server/signal.go b/server/signal.go new file mode 100644 index 00000000..909513d3 --- /dev/null +++ b/server/signal.go @@ -0,0 +1,34 @@ +// +build !windows +// Copyright 2012-2016 Apcera Inc. All rights reserved. + +package server + +import ( + "os" + "os/signal" + "syscall" +) + +// Signal Handling +func (s *Server) handleSignals() { + if s.opts.NoSigs { + return + } + c := make(chan os.Signal, 1) + + signal.Notify(c, syscall.SIGINT, syscall.SIGUSR1) + + go func() { + for sig := range c { + Debugf("Trapped %q signal", sig) + switch sig { + case syscall.SIGINT: + Noticef("Server Exiting..") + os.Exit(0) + case syscall.SIGUSR1: + // File log re-open for rotating file logs. + s.ReOpenLogFile() + } + } + }() +} diff --git a/server/signal_windows.go b/server/signal_windows.go new file mode 100644 index 00000000..6118a8ba --- /dev/null +++ b/server/signal_windows.go @@ -0,0 +1,30 @@ +// Copyright 2012-2016 Apcera Inc. All rights reserved. + +package server + +import ( + "os" + "os/signal" + "syscall" +) + +// Signal Handling +func (s *Server) handleSignals() { + if s.opts.NoSigs { + return + } + c := make(chan os.Signal, 1) + + signal.Notify(c, syscall.SIGINT) + + go func() { + for sig := range c { + Debugf("Trapped %q signal", sig) + switch sig { + case syscall.SIGINT: + Noticef("Server Exiting..") + os.Exit(0) + } + } + }() +}