diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2018-11-14 10:13:47 +0100 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2018-11-14 10:13:50 +0100 |
commit | 1e3ff6950269cb7fdb1c9ac161cf1aabf4933326 (patch) | |
tree | eff54904beec62a3b8a5991fa3c687d33cc230a1 /pkg/rootless | |
parent | 7965716c74ef249e14f66702cff66baf759f6d68 (diff) | |
download | podman-1e3ff6950269cb7fdb1c9ac161cf1aabf4933326.tar.gz podman-1e3ff6950269cb7fdb1c9ac161cf1aabf4933326.tar.bz2 podman-1e3ff6950269cb7fdb1c9ac161cf1aabf4933326.zip |
rootless: call IsRootless just once
we are calling this function several times, it is worth to store its
result and re-use it.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'pkg/rootless')
-rw-r--r-- | pkg/rootless/rootless_linux.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/pkg/rootless/rootless_linux.go b/pkg/rootless/rootless_linux.go index ff8c8fe34..85b0ef392 100644 --- a/pkg/rootless/rootless_linux.go +++ b/pkg/rootless/rootless_linux.go @@ -12,6 +12,7 @@ import ( "runtime" "strconv" "strings" + "sync" "syscall" "unsafe" @@ -33,9 +34,17 @@ func runInUser() error { return nil } +var ( + isRootlessOnce sync.Once + isRootless bool +) + // IsRootless tells us if we are running in rootless mode func IsRootless() bool { - return os.Geteuid() != 0 || os.Getenv("_LIBPOD_USERNS_CONFIGURED") != "" + isRootlessOnce.Do(func() { + isRootless = os.Geteuid() != 0 || os.Getenv("_LIBPOD_USERNS_CONFIGURED") != "" + }) + return isRootless } var ( |