mirror of
https://github.com/containers/podman.git
synced 2025-06-19 16:33:24 +08:00
Merge pull request #2115 from rhatdan/shm
If you fail to open shm lock then attempt to create it
This commit is contained in:
@ -692,25 +692,19 @@ func makeRuntime(runtime *Runtime) (err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set up the lock manager
|
|
||||||
var manager lock.Manager
|
|
||||||
lockPath := DefaultSHMLockPath
|
lockPath := DefaultSHMLockPath
|
||||||
if rootless.IsRootless() {
|
if rootless.IsRootless() {
|
||||||
lockPath = fmt.Sprintf("%s_%d", DefaultRootlessSHMLockPath, rootless.GetRootlessUID())
|
lockPath = fmt.Sprintf("%s_%d", DefaultRootlessSHMLockPath, rootless.GetRootlessUID())
|
||||||
}
|
}
|
||||||
if doRefresh {
|
// Set up the lock manager
|
||||||
// If SHM locks already exist, delete them and reinitialize
|
manager, err := lock.OpenSHMLockManager(lockPath, runtime.config.NumLocks)
|
||||||
if err := os.Remove(filepath.Join("/dev/shm", lockPath)); err != nil && !os.IsNotExist(err) {
|
if err != nil {
|
||||||
return errors.Wrapf(err, "error deleting existing libpod SHM segment %s", lockPath)
|
if os.IsNotExist(errors.Cause(err)) {
|
||||||
}
|
|
||||||
|
|
||||||
manager, err = lock.NewSHMLockManager(lockPath, runtime.config.NumLocks)
|
manager, err = lock.NewSHMLockManager(lockPath, runtime.config.NumLocks)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
manager, err = lock.OpenSHMLockManager(lockPath, runtime.config.NumLocks)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user