diff options
author | Matej Vasek <mvasek@redhat.com> | 2021-02-04 18:30:07 +0100 |
---|---|---|
committer | Matthew Heon <matthew.heon@pm.me> | 2021-02-08 14:29:46 -0500 |
commit | f645880ecdb90c44727b5f2aea50ae74257f7c5d (patch) | |
tree | c6c3b24edd135381bc6670e9214c7e8cb8b9b073 | |
parent | 2df59dece58a794c58fa4ad15f3f9b13a4b7aa42 (diff) | |
download | podman-f645880ecdb90c44727b5f2aea50ae74257f7c5d.tar.gz podman-f645880ecdb90c44727b5f2aea50ae74257f7c5d.tar.bz2 podman-f645880ecdb90c44727b5f2aea50ae74257f7c5d.zip |
Fix per review request
Signed-off-by: Matej Vasek <mvasek@redhat.com>
-rw-r--r-- | libpod/container_api.go | 10 | ||||
-rw-r--r-- | libpod/define/errors.go | 4 |
2 files changed, 8 insertions, 6 deletions
diff --git a/libpod/container_api.go b/libpod/container_api.go index c64074d80..2473acec0 100644 --- a/libpod/container_api.go +++ b/libpod/container_api.go @@ -483,8 +483,6 @@ func (c *Container) Wait(ctx context.Context) (int32, error) { return c.WaitWithInterval(ctx, DefaultWaitInterval) } -var errWaitingCanceled = errors.New("waiting was canceled") - // WaitWithInterval blocks until the container to exit and returns its exit // code. The argument is the interval at which checks the container's status. func (c *Container) WaitWithInterval(ctx context.Context, waitTimeout time.Duration) (int32, error) { @@ -500,15 +498,15 @@ func (c *Container) WaitWithInterval(ctx context.Context, waitTimeout time.Durat go func() { <-ctx.Done() - chWait <- errWaitingCanceled + chWait <- define.ErrCanceled }() for { // ignore errors here (with exception of cancellation), it is only used to avoid waiting // too long. _, e := WaitForFile(exitFile, chWait, waitTimeout) - if e == errWaitingCanceled { - return -1, errWaitingCanceled + if e == define.ErrCanceled { + return -1, define.ErrCanceled } stopped, code, err := c.isStopped() @@ -599,7 +597,7 @@ func (c *Container) WaitForConditionWithInterval(ctx context.Context, waitTimeou case result = <-resultChan: cancelFn() case <-ctx.Done(): - result = waitResult{-1, errWaitingCanceled} + result = waitResult{-1, define.ErrCanceled} } wg.Wait() return result.code, result.err diff --git a/libpod/define/errors.go b/libpod/define/errors.go index d37bc397e..2e85454b2 100644 --- a/libpod/define/errors.go +++ b/libpod/define/errors.go @@ -198,4 +198,8 @@ var ( // ErrSecurityAttribute indicates that an error processing security attributes // for the container ErrSecurityAttribute = fmt.Errorf("%w: unable to process security attribute", ErrOCIRuntime) + + // ErrCanceled indicates that an operation has been cancelled by a user. + // Useful for potentially long running tasks. + ErrCanceled = errors.New("cancelled by user") ) |