Skip to content

Commit 97b3025

Browse files
authored
Merge pull request agones-dev#140 from markmandel/feature/sidecar-stop-signal
Handle stop signal in the SDK Server
2 parents bc575f8 + 8345e05 commit 97b3025

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

cmd/sdk-server/main.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"agones.dev/agones/pkg/gameservers"
2727
"agones.dev/agones/pkg/sdk"
2828
"agones.dev/agones/pkg/util/runtime"
29+
"agones.dev/agones/pkg/util/signals"
2930
"github.com/spf13/pflag"
3031
"github.com/spf13/viper"
3132
"golang.org/x/net/context"
@@ -101,6 +102,7 @@ func main() {
101102
if err != nil {
102103
logger.WithField("port", port).WithField("address", address).Fatalf("Could not listen on port")
103104
}
105+
stop := signals.NewStopChannel()
104106
grpcServer := grpc.NewServer()
105107

106108
if isLocal {
@@ -134,8 +136,17 @@ func main() {
134136
sdk.RegisterSDKServer(grpcServer, s)
135137
}
136138

137-
err = grpcServer.Serve(lis)
138-
if err != nil {
139-
logger.WithError(err).Error("Could not serve grpc server")
140-
}
139+
go func() {
140+
err = grpcServer.Serve(lis)
141+
if err != nil {
142+
logger.WithError(err).Fatal("Could not serve grpc server")
143+
}
144+
}()
145+
146+
<-stop
147+
logger.Info("shutting down grpc server")
148+
// don't graceful stop, because if we get a kill signal
149+
// then the gameserver is being shut down, and we no longer
150+
// care about running RPC calls.
151+
grpcServer.Stop()
141152
}

0 commit comments

Comments
 (0)