summaryrefslogtreecommitdiff
path: root/libpod/oci_conmon_linux.go
diff options
context:
space:
mode:
authorMatthew Heon <mheon@redhat.com>2021-11-23 09:21:05 -0500
committerMatthew Heon <mheon@redhat.com>2021-11-23 09:50:12 -0500
commit5cf2683bfef7f15aaccc6f2321fb1e63dbf3f18a (patch)
tree5034655049fd863a9e458e105e0b88916506d3e7 /libpod/oci_conmon_linux.go
parent9e07cb17a92dd24df8053193e1e047f211a72a54 (diff)
downloadpodman-5cf2683bfef7f15aaccc6f2321fb1e63dbf3f18a.tar.gz
podman-5cf2683bfef7f15aaccc6f2321fb1e63dbf3f18a.tar.bz2
podman-5cf2683bfef7f15aaccc6f2321fb1e63dbf3f18a.zip
Warn on failing to update container status
failed to send a signal to the container's PID1, but ignored the results of that update. That's generally bad practice, since even if we can't directly take action on an error, we should still make an effort to report it for debugging purposes. I used Infof instead of something more serious to avoid duplicate reporting to the user if something has gone seriously wrong. [NO NEW TESTS NEEDED] this is just adding additional error reporting. Signed-off-by: Matthew Heon <mheon@redhat.com>
Diffstat (limited to 'libpod/oci_conmon_linux.go')
-rw-r--r--libpod/oci_conmon_linux.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go
index ea6facfa6..baf05189c 100644
--- a/libpod/oci_conmon_linux.go
+++ b/libpod/oci_conmon_linux.go
@@ -407,8 +407,11 @@ func (r *ConmonOCIRuntime) KillContainer(ctr *Container, signal uint, all bool)
args = append(args, "kill", ctr.ID(), fmt.Sprintf("%d", signal))
}
if err := utils.ExecCmdWithStdStreams(os.Stdin, os.Stdout, os.Stderr, env, r.path, args...); err != nil {
- // try updating container state but ignore errors we cant do anything if this fails.
- r.UpdateContainerStatus(ctr)
+ // Update container state - there's a chance we failed because
+ // the container exited in the meantime.
+ if err2 := r.UpdateContainerStatus(ctr); err2 != nil {
+ logrus.Infof("Error updating status for container %s: %v", ctr.ID(), err2)
+ }
if ctr.state.State == define.ContainerStateExited {
return nil
}