mirror of
https://github.com/containers/podman.git
synced 2025-05-20 16:47:39 +08:00
libpod: ensure we are not killed during netns creation
When we are killed during netns setup it will leak the netns path as it was not commited in the db. This is rather common if you run systemctl stop on a podman systemd unit. Of course we cannot protect against SIGKILL but in systemd case we get SIGTERM and we really should not exit in a critical section like this. Fixes #24044 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
@ -19,6 +19,7 @@ import (
|
||||
"github.com/containers/common/pkg/cgroups"
|
||||
"github.com/containers/common/pkg/config"
|
||||
"github.com/containers/podman/v5/libpod/define"
|
||||
"github.com/containers/podman/v5/libpod/shutdown"
|
||||
"github.com/containers/podman/v5/pkg/rootless"
|
||||
spec "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/opencontainers/runtime-tools/generate"
|
||||
@ -67,6 +68,9 @@ func (c *Container) prepare() error {
|
||||
tmpStateLock sync.Mutex
|
||||
)
|
||||
|
||||
shutdown.Inhibit()
|
||||
defer shutdown.Uninhibit()
|
||||
|
||||
wg.Add(2)
|
||||
|
||||
go func() {
|
||||
|
Reference in New Issue
Block a user