File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments