mirror of https://github.com/containers/podman.git
libpod: unlock the thread if possible
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
parent
9ffac33178
commit
094bc673ef
|
@ -45,8 +45,13 @@ func (r *ConmonOCIRuntime) createRootlessContainer(ctr *Container, restoreOption
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := unix.Setns(int(fd.Fd()), unix.CLONE_NEWNS); err != nil {
|
err := unix.Setns(int(fd.Fd()), unix.CLONE_NEWNS)
|
||||||
logrus.Errorf("Unable to clone new namespace: %q", err)
|
if err == nil {
|
||||||
|
// If we are able to reset the previous mount namespace, unlock the thread and reuse it
|
||||||
|
runtime.UnlockOSThread()
|
||||||
|
} else {
|
||||||
|
// otherwise, leave the thread locked and the Go runtime will terminate it
|
||||||
|
logrus.Errorf("Unable to reset the previous mount namespace: %q", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue