]> Cypherpunks repositories - gostls13.git/commit
cmd/go: replace uses of ioutil.ReadFile with renameio.ReadFile
authorBryan C. Mills <bcmills@google.com>
Tue, 4 Jun 2019 20:50:59 +0000 (16:50 -0400)
committerBryan C. Mills <bcmills@google.com>
Wed, 5 Jun 2019 15:58:13 +0000 (15:58 +0000)
commita0787f7bcc210e3f9dd725807cfa12895f90f29b
tree3c626be6a3ac1faa2592e55929862ec1c4a8c7e0
parentbf1f4ec7fa3938e1ce1297b367c16aea30280697
cmd/go: replace uses of ioutil.ReadFile with renameio.ReadFile

Windows does not have atomic renames; instead, it produces one of a
handful of errors in case a read races with a rename.

CL 180219 added a utility function that retries those errors in most
cases; this change updates the locations that use renameio for writes
to also use the new renameio.ReadFile function for reads.

It remains possible for a renameio.ReadFile to fail with a spurious
ERROR_FILE_NOT_FOUND, but with retries in place for the other errors
(and practical limits on write concurrency) such failures are unlikely
in practice.

Fixes #32188

Change-Id: I78c81051cc871325c1e3229e696b921b0fcd865a
Reviewed-on: https://go-review.googlesource.com/c/go/+/180517
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/go/internal/cache/cache.go
src/cmd/go/internal/modfetch/cache.go
src/cmd/go/internal/modfetch/fetch.go
src/cmd/go/internal/modload/init.go