From 5082bc3cfc5c9b3bc53e6a7c43ec1677a69e1263 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Date: Sat, 19 Aug 2023 00:24:46 +0700 Subject: [PATCH] feat: use mutex instead of rwmutex See https://github.com/golang/go/wiki/CodeReviewConcurrency#rwmutex --- internal/cli/action_overlook.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/internal/cli/action_overlook.go b/internal/cli/action_overlook.go index 40b1081..7731f3d 100644 --- a/internal/cli/action_overlook.go +++ b/internal/cli/action_overlook.go @@ -48,7 +48,7 @@ func (a *action) Overlook(c *cli.Context) error { mGHRepoData := make(map[string]struct{}) p := pool.New().WithMaxGoroutines(maxPoolGoroutine) - var mMutex sync.RWMutex + var mMutex sync.Mutex var listMutex sync.Mutex for module := range mapImportedModules { module := module @@ -65,14 +65,11 @@ func (a *action) Overlook(c *cli.Context) error { } name := parts[0] - mMutex.RLock() + mMutex.Lock() if _, ok := mGHRepoData[name]; ok { - mMutex.RUnlock() + mMutex.Unlock() return } - mMutex.RUnlock() - - mMutex.Lock() mGHRepoData[name] = struct{}{} mMutex.Unlock()