mirror of
https://github.com/containers/podman.git
synced 2025-06-30 15:49:03 +08:00
Merge pull request #22662 from giuseppe/drop-ancient-conmon-check
Revert "container stop: kill conmon"
This commit is contained in:
@ -1512,7 +1512,6 @@ func (c *Container) restartWithTimeout(ctx context.Context, timeout uint) (retEr
|
|||||||
c.newContainerEvent(events.Restart)
|
c.newContainerEvent(events.Restart)
|
||||||
|
|
||||||
if c.state.State == define.ContainerStateRunning {
|
if c.state.State == define.ContainerStateRunning {
|
||||||
conmonPID := c.state.ConmonPID
|
|
||||||
if err := c.stop(timeout); err != nil {
|
if err := c.stop(timeout); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -1522,23 +1521,6 @@ func (c *Container) restartWithTimeout(ctx context.Context, timeout uint) (retEr
|
|||||||
logrus.Error(err.Error())
|
logrus.Error(err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Old versions of conmon have a bug where they create the exit file before
|
|
||||||
// closing open file descriptors causing a race condition when restarting
|
|
||||||
// containers with open ports since we cannot bind the ports as they're not
|
|
||||||
// yet closed by conmon.
|
|
||||||
//
|
|
||||||
// Killing the old conmon PID is ~okay since it forces the FDs of old conmons
|
|
||||||
// to be closed, while it's a NOP for newer versions which should have
|
|
||||||
// exited already.
|
|
||||||
if conmonPID != 0 {
|
|
||||||
// Ignore errors from FindProcess() as conmon could already have exited.
|
|
||||||
p, err := os.FindProcess(conmonPID)
|
|
||||||
if p != nil && err == nil {
|
|
||||||
if err = p.Kill(); err != nil {
|
|
||||||
logrus.Debugf("error killing conmon process: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Ensure we tear down the container network so it will be
|
// Ensure we tear down the container network so it will be
|
||||||
// recreated - otherwise, behavior of restart differs from stop
|
// recreated - otherwise, behavior of restart differs from stop
|
||||||
// and start
|
// and start
|
||||||
|
Reference in New Issue
Block a user