diff --git a/api/server/router/system/system_routes.go b/api/server/router/system/system_routes.go index a994a46eb7..defaa0d6ca 100644 --- a/api/server/router/system/system_routes.go +++ b/api/server/router/system/system_routes.go @@ -55,11 +55,10 @@ func (s *systemRouter) getEvents(ctx context.Context, w http.ResponseWriter, r * return err } - timer := time.NewTimer(0) - timer.Stop() + var timeout <-chan time.Time if until > 0 || untilNano > 0 { dur := time.Unix(until, untilNano).Sub(time.Now()) - timer = time.NewTimer(dur) + timeout = time.NewTimer(dur).C } ef, err := filters.FromParam(r.Form.Get("filters")) @@ -99,7 +98,7 @@ func (s *systemRouter) getEvents(ctx context.Context, w http.ResponseWriter, r * if err := enc.Encode(jev); err != nil { return err } - case <-timer.C: + case <-timeout: return nil case <-closeNotify: logrus.Debug("Client disconnected, stop sending events")