Slight tweak to when to lock for writing.
diff --git a/homedir.go b/homedir.go
index c4c668b..ed920de 100644
--- a/homedir.go
+++ b/homedir.go
@@ -32,6 +32,9 @@
 		}
 	}
 
+	cacheLock.Lock()
+	defer cacheLock.Unlock()
+
 	var result string
 	var err error
 	if runtime.GOOS == "windows" {
@@ -44,9 +47,7 @@
 	if err != nil {
 		return "", err
 	}
-	cacheLock.Lock()
 	homedirCache = result
-	cacheLock.Unlock()
 	return result, nil
 }