summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/minio
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/minio')
-rw-r--r--vendor/github.com/minio/go-homedir/README.md2
-rw-r--r--vendor/github.com/minio/go-homedir/dir_posix.go3
-rw-r--r--vendor/github.com/minio/go-homedir/dir_windows.go3
-rw-r--r--vendor/github.com/minio/go-homedir/homedir.go19
4 files changed, 10 insertions, 17 deletions
diff --git a/vendor/github.com/minio/go-homedir/README.md b/vendor/github.com/minio/go-homedir/README.md
index 085f57775..2d9456fa5 100644
--- a/vendor/github.com/minio/go-homedir/README.md
+++ b/vendor/github.com/minio/go-homedir/README.md
@@ -13,4 +13,4 @@ it has a cgo dependency on Darwin systems. This means that any Go code
that uses that package cannot cross compile. But 99% of the time the
use for `os/user` is just to retrieve the home directory, which we can
do for the current user without cgo. This library does that, enabling
-cross-compilation.
+cross-compilation.
diff --git a/vendor/github.com/minio/go-homedir/dir_posix.go b/vendor/github.com/minio/go-homedir/dir_posix.go
index 4615fe063..f1de21488 100644
--- a/vendor/github.com/minio/go-homedir/dir_posix.go
+++ b/vendor/github.com/minio/go-homedir/dir_posix.go
@@ -1,8 +1,5 @@
// +build !windows
-// Copyright 2016 (C) Mitchell Hashimoto
-// Distributed under the MIT License.
-
package homedir
import (
diff --git a/vendor/github.com/minio/go-homedir/dir_windows.go b/vendor/github.com/minio/go-homedir/dir_windows.go
index 85e5218c7..e1ac9cf77 100644
--- a/vendor/github.com/minio/go-homedir/dir_windows.go
+++ b/vendor/github.com/minio/go-homedir/dir_windows.go
@@ -1,6 +1,3 @@
-// Copyright 2016 (C) Mitchell Hashimoto
-// Distributed under the MIT License.
-
package homedir
import (
diff --git a/vendor/github.com/minio/go-homedir/homedir.go b/vendor/github.com/minio/go-homedir/homedir.go
index 092373801..ecc9c5e4b 100644
--- a/vendor/github.com/minio/go-homedir/homedir.go
+++ b/vendor/github.com/minio/go-homedir/homedir.go
@@ -1,6 +1,3 @@
-// Copyright 2016 (C) Mitchell Hashimoto
-// Distributed under the MIT License.
-
// Package homedir implements a portable function to determine current user's homedir.
package homedir
@@ -15,23 +12,25 @@ import (
var DisableCache bool
var homedirCache string
-var cacheLock sync.Mutex
+var cacheLock sync.RWMutex
// Dir returns the home directory for the executing user.
//
// This uses an OS-specific method for discovering the home directory.
// An error is returned if a home directory cannot be detected.
func Dir() (string, error) {
- cacheLock.Lock()
- defer cacheLock.Unlock()
-
- // Return cached homedir if available.
if !DisableCache {
- if homedirCache != "" {
- return homedirCache, nil
+ cacheLock.RLock()
+ cached := homedirCache
+ cacheLock.RUnlock()
+ if cached != "" {
+ return cached, nil
}
}
+ cacheLock.Lock()
+ defer cacheLock.Unlock()
+
// Determine OS speific current homedir.
result, err := dir()
if err != nil {