From 26bd535ddea29d8642a43b81d7a3897eb197fac6 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Fri, 8 Dec 2023 10:59:05 -0800 Subject: [PATCH] fix watch race --- d2cli/watch.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/d2cli/watch.go b/d2cli/watch.go index 92d9ee97f..4a934d9c6 100644 --- a/d2cli/watch.go +++ b/d2cli/watch.go @@ -292,15 +292,15 @@ func (w *watcher) watchLoop(ctx context.Context) error { var changedList []string for k := range changed { changedList = append(changedList, k) + delete(changed, k) } sort.Strings(changedList) changedStr := w.ms.HumanPath(changedList[0]) - for i := 1; i < len(changed); i++ { + for i := 1; i < len(changedList); i++ { changedStr += fmt.Sprintf(", %s", w.ms.HumanPath(changedList[i])) } w.ms.Log.Info.Printf("detected change in %s: recompiling...", changedStr) w.requestCompile() - changed = make(map[string]struct{}) case err, ok := <-w.fw.Errors: if !ok { return errors.New("fsnotify watcher closed")