commit | 065b96d36cf81bee7836ac900cce5f8ef4285dca | [log] [tgz] |
---|---|---|
author | Heschi Kreinick <heschi@google.com> | Tue Jul 07 15:18:31 2020 -0400 |
committer | Heschi Kreinick <heschi@google.com> | Tue Jul 07 22:21:32 2020 +0000 |
tree | 52ab2c372ccdbf8705e611a2a553681c15f2d49d | |
parent | 9c9572d6f9fbce5c24ffad71aec97df56f4aae5f [diff] |
internal/lsp/cache: fix race in RunProcessEnvFunc Changing build flags (-modfile) while work is happening in the background causes races. Explicitly detect relevant configuration changes and only modify the ProcessEnv then, when the resolver is inactive after the call to ClearForNewMod. This still leaves a very small window for a race: if refreshProcessEnv has already captured env but not yet started priming the cache, it may race with the modification. But I don't expect it to be a problem in practice. Fixes golang/go#39865. Change-Id: I31c79f39be55975fee14aa0e548b060c46cdd882 Reviewed-on: https://go-review.googlesource.com/c/tools/+/241317 Run-TryBot: Heschi Kreinick <heschi@google.com> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc
and vet
for example, are included in binary Go distributions.
Others, including the Go guru
and the test coverage tool, can be fetched with go get
.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
The easiest way to install is to run go get -u golang.org/x/tools/...
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/tools
.
This repository uses prettier to format JS and CSS files.
The version of prettier
used is 1.18.2.
It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.