From c3f5856fbc46af920401aa895beb21ec85693d81 Mon Sep 17 00:00:00 2001 From: yah01 Date: Thu, 24 Aug 2023 09:18:24 +0800 Subject: [PATCH] Fix data race for config with FileSource (#26518) Signed-off-by: yah01 --- pkg/config/file_source.go | 2 ++ pkg/config/refresher.go | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/config/file_source.go b/pkg/config/file_source.go index 962026e1a..444386199 100644 --- a/pkg/config/file_source.go +++ b/pkg/config/file_source.go @@ -91,6 +91,8 @@ func (fs *FileSource) Close() { } func (fs *FileSource) SetEventHandler(eh EventHandler) { + fs.RWMutex.Lock() + defer fs.RWMutex.Unlock() fs.configRefresher.eh = eh } diff --git a/pkg/config/refresher.go b/pkg/config/refresher.go index 4b49796fd..7a7f48a24 100644 --- a/pkg/config/refresher.go +++ b/pkg/config/refresher.go @@ -86,7 +86,7 @@ func (r *refresher) fireEvents(name string, source, target map[string]string) er log.Warn("generating event error", zap.Error(err)) return err } - //Generate OnEvent Callback based on the events created + // Generate OnEvent Callback based on the events created if r.eh != nil { for _, e := range events { r.eh.OnEvent(e) -- GitLab