summaryrefslogtreecommitdiff
path: root/libpod/runtime.go
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2019-01-05 07:30:03 -0500
committerDaniel J Walsh <dwalsh@redhat.com>2019-01-05 07:37:21 -0500
commita76256834a0a409dfb53943e04fd2458c7782361 (patch)
treefbfb8d1e16dd669793e6804a37d85e8a7918ad74 /libpod/runtime.go
parent4e0c0ecbc383531cd1b38db9027583974a72070d (diff)
downloadpodman-a76256834a0a409dfb53943e04fd2458c7782361.tar.gz
podman-a76256834a0a409dfb53943e04fd2458c7782361.tar.bz2
podman-a76256834a0a409dfb53943e04fd2458c7782361.zip
Rootless with shmlocks was not working.
This patch makes the path unigue to each UID. Also cleans up some return code to return the path it is trying to lock. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'libpod/runtime.go')
-rw-r--r--libpod/runtime.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/libpod/runtime.go b/libpod/runtime.go
index fcc1c6d82..ab8d02a4f 100644
--- a/libpod/runtime.go
+++ b/libpod/runtime.go
@@ -1,6 +1,7 @@
package libpod
import (
+ "fmt"
"io/ioutil"
"os"
"os/exec"
@@ -695,7 +696,7 @@ func makeRuntime(runtime *Runtime) (err error) {
var manager lock.Manager
lockPath := DefaultSHMLockPath
if rootless.IsRootless() {
- lockPath = DefaultRootlessSHMLockPath
+ lockPath = fmt.Sprintf("%s_%d", DefaultRootlessSHMLockPath, rootless.GetRootlessUID())
}
if doRefresh {
// If SHM locks already exist, delete them and reinitialize
@@ -705,12 +706,12 @@ func makeRuntime(runtime *Runtime) (err error) {
manager, err = lock.NewSHMLockManager(lockPath, runtime.config.NumLocks)
if err != nil {
- return errors.Wrapf(err, "error creating SHM locks for libpod")
+ return err
}
} else {
manager, err = lock.OpenSHMLockManager(lockPath, runtime.config.NumLocks)
if err != nil {
- return errors.Wrapf(err, "error opening libpod SHM locks")
+ return err
}
}
runtime.lockManager = manager