summaryrefslogtreecommitdiff
path: root/libpod/options.go
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2017-12-19 15:42:30 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2017-12-20 18:10:43 +0000
commit1f49f555af0709ea7c12becdb750ba60a00eaf1d (patch)
tree9a39b8d0b61ff8d4cb88619ad49bd229320e952c /libpod/options.go
parent3607fcb553046b9a51c4b591ddf20236c628dc57 (diff)
downloadpodman-1f49f555af0709ea7c12becdb750ba60a00eaf1d.tar.gz
podman-1f49f555af0709ea7c12becdb750ba60a00eaf1d.tar.bz2
podman-1f49f555af0709ea7c12becdb750ba60a00eaf1d.zip
Plumb through the --stop-timeout signal handling
podman run/create have the ability to set the stop timeout flag. We need to stop it in the database. Also Allowing negative time for stop timeout makes no sense, so switching to timeout of uint, allows user to specify huge timeout values. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #158 Approved by: TomSweeneyRedHat
Diffstat (limited to 'libpod/options.go')
-rw-r--r--libpod/options.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/libpod/options.go b/libpod/options.go
index a0894c0e3..cbce1f767 100644
--- a/libpod/options.go
+++ b/libpod/options.go
@@ -415,6 +415,19 @@ func WithStopSignal(signal syscall.Signal) CtrCreateOption {
}
}
+// WithStopTimeout sets the time to after initial stop signal is sent to container, before sending the kill signal
+func WithStopTimeout(timeout uint) CtrCreateOption {
+ return func(ctr *Container) error {
+ if ctr.valid {
+ return ErrCtrFinalized
+ }
+
+ ctr.config.StopTimeout = timeout
+
+ return nil
+ }
+}
+
// WithNetNS indicates that the container should be given a new network
// namespace with a minimal configuration
// An optional array of port mappings can be provided