cmd/go: modload should use a read-write lock to improve concurrency

This commit is contained in:
Roy Reznik 2025-06-20 11:25:22 +01:00
parent 8552bcf7c2
commit 6ad6f6a70e
1 changed files with 3 additions and 3 deletions

View File

@ -149,7 +149,7 @@ type MainModuleSet struct {
// highest replaced version of each module path; empty string for wildcard-only replacements
highestReplaced map[string]string
indexMu sync.Mutex
indexMu sync.RWMutex
indices map[module.Version]*modFileIndex
}
@ -228,8 +228,8 @@ func (mms *MainModuleSet) GetSingleIndexOrNil() *modFileIndex {
}
func (mms *MainModuleSet) Index(m module.Version) *modFileIndex {
mms.indexMu.Lock()
defer mms.indexMu.Unlock()
mms.indexMu.RLock()
defer mms.indexMu.RUnlock()
return mms.indices[m]
}