1
0
Fork 0
forked from External/grumble

Tell servers to Stop when shutting down.

Run Stop() on all the server when a SIGINT or SIGTERM is received. This
should ensure any open sockets and files are closed.
This commit is contained in:
Derrick 2020-04-12 15:49:12 -07:00
parent 12775db8ce
commit 68453fa6d6

View file

@ -8,6 +8,7 @@ package main
import ( import (
"fmt" "fmt"
"log"
"os" "os"
"os/signal" "os/signal"
"syscall" "syscall"
@ -27,6 +28,14 @@ func SignalHandler() {
continue continue
} }
if sig == syscall.SIGINT || sig == syscall.SIGTERM { if sig == syscall.SIGINT || sig == syscall.SIGTERM {
for _, server := range servers {
log.Printf("Stopping server %v", server.Id)
err := server.Stop()
if err != nil {
log.Printf("Server err %v", err)
}
}
log.Print("All servers stopped. Exiting.")
os.Exit(0) os.Exit(0)
} }
} }