Merge pull request #5148 from wzshiming/fix/defer-cleanup

runtime/v2: Fix defer cleanup for TaskManager.Create
This commit is contained in:
Maksym Pavlenko 2021-03-20 13:24:42 -07:00 committed by GitHub
commit 56f17a0856
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,6 +24,7 @@ import (
"path/filepath"
"github.com/containerd/containerd/containers"
"github.com/containerd/containerd/errdefs"
"github.com/containerd/containerd/events/exchange"
"github.com/containerd/containerd/log"
"github.com/containerd/containerd/metadata"
@ -155,6 +156,10 @@ func (m *TaskManager) Create(ctx context.Context, id string, opts runtime.Create
defer cancel()
_, errShim := shim.Delete(dctx)
if errShim != nil {
if errdefs.IsDeadlineExceeded(errShim) {
dctx, cancel = timeout.WithContext(context.Background(), cleanupTimeout)
defer cancel()
}
shim.Shutdown(dctx)
shim.Close()
}