mirror of
https://github.com/containers/podman.git
synced 2025-08-24 10:04:57 +08:00
Move OCI runtime implementation behind an interface
For future work, we need multiple implementations of the OCI runtime, not just a Conmon-wrapped runtime matching the runc CLI. As part of this, do some refactoring on the interface for exec (move to a struct, not a massive list of arguments). Also, add 'all' support to Kill and Stop (supported by runc and used a bit internally for removing containers). Signed-off-by: Matthew Heon <matthew.heon@pm.me>
This commit is contained in:
@ -50,11 +50,11 @@ func (c *Container) Commit(ctx context.Context, destImage string, options Contai
|
||||
}
|
||||
|
||||
if c.state.State == define.ContainerStateRunning && options.Pause {
|
||||
if err := c.ociRuntime.pauseContainer(c); err != nil {
|
||||
if err := c.pause(); err != nil {
|
||||
return nil, errors.Wrapf(err, "error pausing container %q", c.ID())
|
||||
}
|
||||
defer func() {
|
||||
if err := c.ociRuntime.unpauseContainer(c); err != nil {
|
||||
if err := c.unpause(); err != nil {
|
||||
logrus.Errorf("error unpausing container %q: %v", c.ID(), err)
|
||||
}
|
||||
}()
|
||||
|
Reference in New Issue
Block a user