aboutsummaryrefslogtreecommitdiff
path: root/libpod/container_api.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-11-23 13:44:37 +0100
committerGitHub <noreply@github.com>2020-11-23 13:44:37 +0100
commitdd343418ce5a3fd6c6238d7e2edc132826756051 (patch)
tree8f6f33d7e8faed4bf8201d655a54a7277282820f /libpod/container_api.go
parentac55bd1f673156cbb60b568b65f7bf4918daf152 (diff)
parentdc8996ec84ffd6f272361edbf7c19e91c52519d9 (diff)
downloadpodman-dd343418ce5a3fd6c6238d7e2edc132826756051.tar.gz
podman-dd343418ce5a3fd6c6238d7e2edc132826756051.tar.bz2
podman-dd343418ce5a3fd6c6238d7e2edc132826756051.zip
Merge pull request #8263 from rhatdan/restart
Allow containers to --restart on-failure with --rm
Diffstat (limited to 'libpod/container_api.go')
-rw-r--r--libpod/container_api.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/libpod/container_api.go b/libpod/container_api.go
index a9808a30e..6a7ddc421 100644
--- a/libpod/container_api.go
+++ b/libpod/container_api.go
@@ -714,3 +714,17 @@ func (c *Container) Restore(ctx context.Context, options ContainerCheckpointOpti
defer c.newContainerEvent(events.Restore)
return c.restore(ctx, options)
}
+
+// Indicate whether or not the container should restart
+func (c *Container) ShouldRestart(ctx context.Context) bool {
+ logrus.Debugf("Checking if container %s should restart", c.ID())
+ if !c.batched {
+ c.lock.Lock()
+ defer c.lock.Unlock()
+
+ if err := c.syncContainer(); err != nil {
+ return false
+ }
+ }
+ return c.shouldRestart()
+}