homedir.go 325 字节
Newer Older
S
stormgbs 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
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
}