Merge pull request #22123 from crosbymichael/restart-canceled
Remove restart canceled error
This commit is contained in:
commit
ab6b82b856
2 changed files with 11 additions and 3 deletions
|
@ -9,6 +9,7 @@ import (
|
|||
|
||||
"github.com/Sirupsen/logrus"
|
||||
containerd "github.com/docker/containerd/api/grpc/types"
|
||||
"github.com/docker/docker/restartmanager"
|
||||
"github.com/opencontainers/specs/specs-go"
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
@ -148,7 +149,9 @@ func (ctr *container) handleEvent(e *containerd.Event) error {
|
|||
logrus.Error(err)
|
||||
}
|
||||
})
|
||||
if err != restartmanager.ErrRestartCanceled {
|
||||
logrus.Error(err)
|
||||
}
|
||||
} else {
|
||||
ctr.start()
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package restartmanager
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
|
@ -13,6 +14,10 @@ const (
|
|||
defaultTimeout = 100 * time.Millisecond
|
||||
)
|
||||
|
||||
// ErrRestartCanceled is returned when the restart manager has been
|
||||
// canceled and will no longer restart the container.
|
||||
var ErrRestartCanceled = errors.New("restart canceled")
|
||||
|
||||
// RestartManager defines object that controls container restarting rules.
|
||||
type RestartManager interface {
|
||||
Cancel() error
|
||||
|
@ -54,7 +59,7 @@ func (rm *restartManager) ShouldRestart(exitCode uint32, hasBeenManuallyStopped
|
|||
}()
|
||||
|
||||
if rm.canceled {
|
||||
return false, nil, fmt.Errorf("restartmanager canceled")
|
||||
return false, nil, ErrRestartCanceled
|
||||
}
|
||||
|
||||
if rm.active {
|
||||
|
@ -95,7 +100,7 @@ func (rm *restartManager) ShouldRestart(exitCode uint32, hasBeenManuallyStopped
|
|||
go func() {
|
||||
select {
|
||||
case <-rm.cancel:
|
||||
ch <- fmt.Errorf("restartmanager canceled")
|
||||
ch <- ErrRestartCanceled
|
||||
close(ch)
|
||||
case <-time.After(rm.timeout):
|
||||
rm.Lock()
|
||||
|
|
Loading…
Reference in a new issue