]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/modget: synchronize writes to modOnly map in runGet
authorCarlos Amedee <carlos@golang.org>
Wed, 27 Nov 2019 18:31:36 +0000 (18:31 +0000)
committerCarlos Amedee <carlos@golang.org>
Wed, 27 Nov 2019 20:27:15 +0000 (20:27 +0000)
Adds an additional lock around an access to modOnly.

Updates #35317

Change-Id: Ia1e75f9a674ec2a2c0489b41283c1cd3e7924d1e
Reviewed-on: https://go-review.googlesource.com/c/go/+/209237
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/go/internal/modget/get.go
src/cmd/go/testdata/script/mod_issue35317.txt

index 9a6b29350a226906d26942f2736b43734d377697..2a0f6346581a12b9356c5fc267384833150203ae 100644 (file)
@@ -458,7 +458,9 @@ func runGet(cmd *base.Command, args []string) {
        modOnly := make(map[string]*query)
        for _, q := range queries {
                if q.m.Version == "none" {
+                       modOnlyMu.Lock()
                        modOnly[q.m.Path] = q
+                       modOnlyMu.Unlock()
                        continue
                }
                if q.path == q.m.Path {
index 003390b7109992b08bddbb4be34fdde04bdbf360..92416a54e474e0a8bb22c6422e1dd2a2fca01154 100644 (file)
@@ -5,4 +5,4 @@ env GO111MODULE=on
 [short] skip
 
 go mod init example.com
-go get golang.org/x/text@v0.3.0 golang.org/x/internal@v0.1.0
+go get golang.org/x/text@v0.3.0 golang.org/x/internal@v0.1.0 golang.org/x/exp@none