shimv2: remove the dead task from runtime task list
When shimv2 dead, the container would be cleanup, but the corresponding runtime task still existed in runtime task lists, it should be deleted too. Signed-off-by: lifupan <lifupan@gmail.com>
This commit is contained in:
parent
cbb108e228
commit
ec8d9d3d7a
@ -140,6 +140,11 @@ func (m *TaskManager) Create(ctx context.Context, id string, opts runtime.Create
|
||||
return
|
||||
}
|
||||
cleanupAfterDeadShim(context.Background(), id, ns, m.events, b)
|
||||
// Remove self from the runtime task list. Even though the cleanupAfterDeadShim()
|
||||
// would publish taskExit event, but the shim.Delete() would always failed with ttrpc
|
||||
// disconnect and there is no chance to remove this dead task from runtime task lists.
|
||||
// Thus it's better to delete it here.
|
||||
m.tasks.Delete(ctx, id)
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -258,6 +263,8 @@ func (m *TaskManager) loadTasks(ctx context.Context) error {
|
||||
return
|
||||
}
|
||||
cleanupAfterDeadShim(context.Background(), id, ns, m.events, binaryCall)
|
||||
// Remove self from the runtime task list.
|
||||
m.tasks.Delete(ctx, id)
|
||||
})
|
||||
if err != nil {
|
||||
cleanupAfterDeadShim(ctx, id, ns, m.events, binaryCall)
|
||||
|
Loading…
Reference in New Issue
Block a user