go/src
Bryan C. Mills 8c896aa466 cmd/go/internal/lockedfile: add a sync.Mutex to lockedfile.Mutex
The compiler (and race detector) don't interpret locking a file as a
synchronization operation, so we add an explicit (and redundant)
sync.Mutex to make that property clear.

The additional synchronization makes it safe to parallelize the tests
in cmd/go/internal/modfetch/coderepo_test.go, which cuts the wall time
of that test by around 50%.

Updates #30550

Change-Id: Ief3479020ebf9e0fee524a4aae5568697727c683
Reviewed-on: https://go-review.googlesource.com/c/go/+/170597
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Jay Conrod <jayconrod@google.com>
2019-04-03 17:17:40 +00:00
..
archive archive/tar, syscall: add statUnix for aix/ppc64 2019-02-27 23:40:20 +00:00
bufio bufio: fix emptyFinalToken example to handle multiple Reads 2019-03-02 18:28:10 +00:00
builtin builtin: make len's godoc less ambiguous 2019-03-13 20:57:32 +00:00
bytes bytes: merge explodetests into splittests 2019-04-03 14:46:01 +00:00
cmd cmd/go/internal/lockedfile: add a sync.Mutex to lockedfile.Mutex 2019-04-03 17:17:40 +00:00
compress cmd/go: further reduce init work 2019-03-31 10:49:55 +00:00
container
context context: don't depend on fmt 2019-03-27 02:37:56 +00:00
crypto crypto/tls: simplify intermediate certificate handling 2019-04-02 20:29:58 +00:00
database/sql database/sql: add example for DB.Prepare and Tx.Prepare 2019-03-25 15:51:17 +00:00
debug debug/dwarf: more graceful handling of unsupported types 2019-03-15 17:33:46 +00:00
encoding encoding/json: speed up tokenization of literals 2019-04-03 17:01:44 +00:00
errors fmt: make type of fmt.Errorf the same as that of errors.New 2019-03-14 09:45:22 +00:00
expvar
flag cmd/go: further reduce init work 2019-03-31 10:49:55 +00:00
fmt fmt: fix spelling mistake in example 2019-03-25 21:03:10 +00:00
go go/ast: fix SortImports to handle block comments 2019-03-28 23:49:52 +00:00
hash
html html/template: prevent test from failing with nil pointer dereference 2019-03-02 01:53:40 +00:00
image image/jpeg: reduce bound checks from idct and fdct 2019-04-02 23:18:37 +00:00
index/suffixarray
internal internal/bytealg: fix function reference in comments 2019-04-02 05:45:33 +00:00
io
log log: expose Writer() method of the standard logger 2019-03-25 01:18:56 +00:00
math math/big: temporarily disable buggy shlVU assembly for arm64 2019-03-27 23:40:12 +00:00
mime mime: add javascript module mime type (.mjs) 2019-03-27 17:30:53 +00:00
net cmd/go: further reduce init work 2019-03-31 10:49:55 +00:00
os os/user: use os.UserHomeDir for user.HomeDir 2019-03-28 15:02:16 +00:00
path path/filepath: add examples for Base, Dir and IsAbs 2019-03-25 02:57:06 +00:00
plugin cmd/compile: reorganize init functions 2019-03-18 20:10:55 +00:00
reflect reflect: initialize ptrdata earlier in StructOf 2019-03-26 03:54:07 +00:00
regexp regexp: add ReplaceAllStringFunc example 2019-02-27 21:48:41 +00:00
runtime runtime/cgo: look for android_get_device_api_level in libc.so 2019-04-02 22:17:34 +00:00
sort sort, internal/reflectlite: flesh out reflectlite enough for use by sort 2019-03-27 04:58:23 +00:00
strconv strconv: simplify (*extFloat).Multiply using math/bits.Mul64 2019-03-04 22:25:21 +00:00
strings bytes, strings: add tests for TrimLeftFunc and TrimRightFunc 2019-03-29 14:16:35 +00:00
sync sync: allow inlining the RWMutex.RUnlock fast path 2019-03-09 16:34:17 +00:00
syscall syscall: on AIX use nsendmsg and nrecvmsg, define SockaddrDatalink 2019-04-03 14:36:41 +00:00
testdata
testing testing: correct two spelling/grammar issues 2019-03-25 22:26:21 +00:00
text text/template: allow using -}} with many spaces 2019-03-24 09:06:14 +00:00
time time: optimize Sub 2019-03-19 04:10:33 +00:00
unicode
unsafe
vendor all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
Make.dist
all.bash
all.bat
all.rc
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
go.mod all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
go.sum all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
iostest.bash
make.bash cmd,std: add go.mod files 2019-03-11 20:27:41 +00:00
make.bat cmd,std: add go.mod files 2019-03-11 20:27:41 +00:00
make.rc cmd,std: add go.mod files 2019-03-11 20:27:41 +00:00
naclmake.bash
nacltest.bash
race.bash
race.bat
run.bash all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
run.bat
run.rc