diff --git a/rtrefresh/rt_refresh_manager.go b/rtrefresh/rt_refresh_manager.go index 44d22c38a..1dc9b7e7e 100644 --- a/rtrefresh/rt_refresh_manager.go +++ b/rtrefresh/rt_refresh_manager.go @@ -104,7 +104,9 @@ func (r *RtRefreshManager) Close() error { // error and close. The channel is buffered and safe to ignore. func (r *RtRefreshManager) Refresh(force bool) <-chan error { resp := make(chan error, 1) + r.refcount.Add(1) go func() { + defer r.refcount.Done() select { case r.triggerRefresh <- &triggerRefreshReq{respCh: resp, forceCplRefresh: force}: case <-r.ctx.Done():