diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2020-10-23 06:58:41 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2020-10-26 05:53:26 -0400 |
commit | 32af1be01a37362d81baff47a2bb28e4c863a8c9 (patch) | |
tree | cd61e6e4bb016b4c73da7819343fb983cee3c730 /pkg/util/utils.go | |
parent | 8f498b52de43b20d5f9aa83c3a27e0464d41bdee (diff) | |
download | podman-32af1be01a37362d81baff47a2bb28e4c863a8c9.tar.gz podman-32af1be01a37362d81baff47a2bb28e4c863a8c9.tar.bz2 podman-32af1be01a37362d81baff47a2bb28e4c863a8c9.zip |
The cidfile should be created when the container is created
Currently if you run an interactive session of podman run and
specifiy the --cidfile option, the cidfile will not get created
until the container finishes running. If you run a detached
container, it will get created right away. This Patch creates
the cidfile as soon as the container is created. This could allow
other tools to use the cidefile on all running containers.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'pkg/util/utils.go')
-rw-r--r-- | pkg/util/utils.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/pkg/util/utils.go b/pkg/util/utils.go index 91aba9fa7..a9aad657d 100644 --- a/pkg/util/utils.go +++ b/pkg/util/utils.go @@ -638,3 +638,18 @@ func ValidateSysctls(strSlice []string) (map[string]string, error) { func DefaultContainerConfig() *config.Config { return containerConfig } + +func CreateCidFile(cidfile string, id string) error { + cidFile, err := OpenExclusiveFile(cidfile) + if err != nil { + if os.IsExist(err) { + return errors.Errorf("container id file exists. Ensure another container is not using it or delete %s", cidfile) + } + return errors.Errorf("error opening cidfile %s", cidfile) + } + if _, err = cidFile.WriteString(id); err != nil { + logrus.Error(err) + } + cidFile.Close() + return nil +} |