29 lines
325 B
Go
29 lines
325 B
Go
|
package dbus
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"sync"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
homeDir string
|
||
|
homeDirLock sync.Mutex
|
||
|
)
|
||
|
|
||
|
func getHomeDir() string {
|
||
|
homeDirLock.Lock()
|
||
|
defer homeDirLock.Unlock()
|
||
|
|
||
|
if homeDir != "" {
|
||
|
return homeDir
|
||
|
}
|
||
|
|
||
|
homeDir = os.Getenv("HOME")
|
||
|
if homeDir != "" {
|
||
|
return homeDir
|
||
|
}
|
||
|
|
||
|
homeDir = lookupHomeDir()
|
||
|
return homeDir
|
||
|
}
|