Explorar o código

close server on receiving signal (#4213)

Jeffrey Morgan hai 1 ano
pai
achega
39d9d22ca3
Modificáronse 2 ficheiros con 7 adicións e 1 borrados
  1. 6 1
      cmd/cmd.go
  2. 1 0
      server/routes.go

+ 6 - 1
cmd/cmd.go

@@ -898,7 +898,12 @@ func RunServer(cmd *cobra.Command, _ []string) error {
 		return err
 	}
 
-	return server.Serve(ln)
+	err = server.Serve(ln)
+	if errors.Is(err, http.ErrServerClosed) {
+		return nil
+	}
+
+	return err
 }
 
 func initializeKeypair() error {

+ 1 - 0
server/routes.go

@@ -1041,6 +1041,7 @@ func Serve(ln net.Listener) error {
 	signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
 	go func() {
 		<-signals
+		srvr.Close()
 		done()
 		sched.unloadAllRunners()
 		gpu.Cleanup()