summaryrefslogtreecommitdiff
path: root/src/os/path.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-09-18 14:48:47 -0400
committerRuss Cox <rsc@golang.org>2014-09-18 14:48:47 -0400
commit433566655a72738d3f2f700c4134226a88e6293d (patch)
tree0d1a03dd0ef67c23c76a33b275885bff0ada7f37 /src/os/path.go
parent798fe2075f9195866b3a8ea54e259f82bde116bf (diff)
downloadgo-433566655a72738d3f2f700c4134226a88e6293d.tar.gz
os: avoid error result when dir is removed out from under RemoveAll
Fixes issue 7776. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews, r https://codereview.appspot.com/145860043
Diffstat (limited to 'src/os/path.go')
-rw-r--r--src/os/path.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/os/path.go b/src/os/path.go
index 02a77ec80..6cc69403b 100644
--- a/src/os/path.go
+++ b/src/os/path.go
@@ -66,7 +66,7 @@ func MkdirAll(path string, perm FileMode) error {
func RemoveAll(path string) error {
// Simple case: if Remove works, we're done.
err := Remove(path)
- if err == nil {
+ if err == nil || IsNotExist(err) {
return nil
}
@@ -116,6 +116,9 @@ func RemoveAll(path string) error {
// Remove directory.
err1 := Remove(path)
+ if err1 == nil || IsNotExist(err1) {
+ return nil
+ }
if err == nil {
err = err1
}