diff --git a/daemon/kill.go b/daemon/kill.go index b3785007db..383393e24f 100644 --- a/daemon/kill.go +++ b/daemon/kill.go @@ -21,18 +21,11 @@ type errNoSuchProcess struct { } func (e errNoSuchProcess) Error() string { - return fmt.Sprintf("Cannot kill process (pid=%d) with signal %d: no such process.", e.pid, e.signal) + return fmt.Sprintf("cannot kill process (pid=%d) with signal %d: no such process", e.pid, e.signal) } func (errNoSuchProcess) NotFound() {} -// isErrNoSuchProcess returns true if the error -// is an instance of errNoSuchProcess. -func isErrNoSuchProcess(err error) bool { - _, ok := err.(errNoSuchProcess) - return ok -} - // ContainerKill sends signal to the container // If no signal is given, then Kill with SIGKILL and wait // for the container to exit. @@ -149,7 +142,7 @@ func (daemon *Daemon) Kill(container *containerpkg.Container) error { // 1. Send SIGKILL if err := daemon.killPossiblyDeadProcess(container, syscall.SIGKILL); err != nil { // kill failed, check if process is no longer running. - if isErrNoSuchProcess(err) { + if errors.As(err, &errNoSuchProcess{}) { return nil } } @@ -165,7 +158,7 @@ func (daemon *Daemon) Kill(container *containerpkg.Container) error { logrus.WithError(status.Err()).WithField("container", container.ID).Error("Container failed to exit within 10 seconds of kill - trying direct SIGKILL") if err := killProcessDirectly(container); err != nil { - if isErrNoSuchProcess(err) { + if errors.As(err, &errNoSuchProcess{}) { return nil } return err