From 307c2b625ad629deb13fa22fabaa74c6163155fa Mon Sep 17 00:00:00 2001 From: ningmingxiao Date: Tue, 16 Jul 2024 00:11:07 +0800 Subject: [PATCH] fix poststart error Signed-off-by: ningmingxiao --- libcontainer/container_linux.go | 13 ------------- start.go | 10 ++++++++++ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go index e3e2cf2bdb8..69d95d7c8d0 100644 --- a/libcontainer/container_linux.go +++ b/libcontainer/container_linux.go @@ -353,19 +353,6 @@ func (c *Container) start(process *Process) (retErr error) { if process.Init { c.fifo.Close() - if c.config.Hooks != nil { - s, err := c.currentOCIState() - if err != nil { - return err - } - - if err := c.config.Hooks.Run(configs.Poststart, s); err != nil { - if err := ignoreTerminateErrors(parent.terminate()); err != nil { - logrus.Warn(fmt.Errorf("error running poststart hook: %w", err)) - } - return err - } - } } return nil } diff --git a/start.go b/start.go index 338737c0a32..139058e46df 100644 --- a/start.go +++ b/start.go @@ -6,6 +6,7 @@ import ( "os" "github.com/opencontainers/runc/libcontainer" + "github.com/opencontainers/runc/libcontainer/configs" "github.com/urfave/cli" ) @@ -42,6 +43,15 @@ your host.`, if notifySocket != nil { return notifySocket.waitForContainer(container) } + s, err := container.OCIState() + if err != nil { + return err + } + if container.Config().Hooks != nil { + if err := container.Config().Hooks.Run(configs.Poststart, s); err != nil { + return fmt.Errorf("run poststart hook %w", err) + } + } return nil case libcontainer.Stopped: return errors.New("cannot start a container that has stopped")