Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions libpod/container_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -305,13 +305,22 @@ func (c *Container) Exec(tty, privileged bool, env, cmd []string, user, workDir
if err != nil {
if exited {
// If the runtime exited, propagate the error we got from the process.
// We need to remove PID files to ensure no memory leaks
if err2 := os.Remove(pidFile); err2 != nil {
logrus.Errorf("Error removing exit file for container %s exec session %s: %v", c.ID(), sessionID, err2)
}

return err
}
return errors.Wrapf(err, "timed out waiting for runtime to create pidfile for exec session in container %s", c.ID())
}

// Pidfile exists, read it
contents, err := ioutil.ReadFile(pidFile)
// We need to remove PID files to ensure no memory leaks
if err2 := os.Remove(pidFile); err2 != nil {
logrus.Errorf("Error removing exit file for container %s exec session %s: %v", c.ID(), sessionID, err2)
}
if err != nil {
// We don't know the PID of the exec session
// However, it may still be alive
Expand Down