aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Brainman <alex.brainman@gmail.com>2010-09-17 12:35:34 +1000
committerAlex Brainman <alex.brainman@gmail.com>2010-09-17 12:35:34 +1000
commit9997dae7a3499a3f180e7e34df0bb22fa487ad85 (patch)
treef3590195ab3bc890b139a2641f1d1ceeea2c948a
parent7534d40f6401817093711cc8d1f227abdaed5dd0 (diff)
downloadgo-9997dae7a3499a3f180e7e34df0bb22fa487ad85.tar.gz
go-9997dae7a3499a3f180e7e34df0bb22fa487ad85.zip
os: make RemoveAll() work on windows
R=golang-dev, rsc1 CC=golang-dev https://golang.org/cl/2212041
-rw-r--r--src/pkg/os/path.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/os/path.go b/src/pkg/os/path.go
index bea971375e..74c83ab17a 100644
--- a/src/pkg/os/path.go
+++ b/src/pkg/os/path.go
@@ -84,7 +84,6 @@ func RemoveAll(path string) Error {
if err != nil {
return err
}
- defer fd.Close()
// Remove contents & return first error.
err = nil
@@ -105,6 +104,9 @@ func RemoveAll(path string) Error {
}
}
+ // Close directory, because windows won't remove opened directory.
+ fd.Close()
+
// Remove directory.
err1 := Remove(path)
if err == nil {