Skip to content

Commit ee28dbf

Browse files
committedAug 24, 2020
implement shutdown for the no-op server (#2542)
(cherry picked from commit b4c6065)
1 parent 62da8bb commit ee28dbf

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed
 

‎pkg/promtail/server/server.go

+18-7
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
6868
// New makes a new Server
6969
func New(cfg Config, log log.Logger, tms *targets.TargetManagers) (Server, error) {
7070
if cfg.Disable {
71-
return noopServer{log: log}, nil
71+
return newNoopServer(log), nil
7272
}
7373
wws, err := serverww.New(cfg.Config)
7474
if err != nil {
@@ -243,13 +243,24 @@ func computeExternalURL(u string, port int) (*url.URL, error) {
243243
return eu, nil
244244
}
245245

246-
type noopServer struct{ log log.Logger }
246+
type noopServer struct {
247+
log log.Logger
248+
sigs chan os.Signal
249+
}
247250

248-
func (s noopServer) Run() error {
249-
sigs := make(chan os.Signal, 1)
250-
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
251-
sig := <-sigs
251+
func newNoopServer(log log.Logger) *noopServer {
252+
return &noopServer{
253+
log: log,
254+
sigs: make(chan os.Signal, 1),
255+
}
256+
}
257+
258+
func (s *noopServer) Run() error {
259+
signal.Notify(s.sigs, syscall.SIGINT, syscall.SIGTERM)
260+
sig := <-s.sigs
252261
level.Info(s.log).Log("msg", "received shutdown signal", "sig", sig)
253262
return nil
254263
}
255-
func (noopServer) Shutdown() {}
264+
func (s *noopServer) Shutdown() {
265+
s.sigs <- syscall.SIGTERM
266+
}

0 commit comments

Comments
 (0)
Please sign in to comment.