engine: graph, resources: Change Watch to use ctx

This is a general port. There are many optimizations and cleanups we can
do now that we have a proper context passed in. That's for a future
patch.
This commit is contained in:
James Shubin
2023-08-07 20:17:32 -04:00
parent 53a878bf61
commit 963393e3d9
37 changed files with 139 additions and 130 deletions

View File

@@ -131,11 +131,11 @@ func (obj *DockerImageRes) Close() error {
}
// Watch is the primary listener for this resource and it outputs events.
func (obj *DockerImageRes) Watch() error {
ctx, cancel := context.WithCancel(context.Background())
func (obj *DockerImageRes) Watch(ctx context.Context) error {
innerCtx, cancel := context.WithCancel(context.Background())
defer cancel()
eventChan, errChan := obj.client.Events(ctx, types.EventsOptions{})
eventChan, errChan := obj.client.Events(innerCtx, types.EventsOptions{})
// notify engine that we're running
obj.init.Running()
@@ -158,7 +158,7 @@ func (obj *DockerImageRes) Watch() error {
}
return err
case <-obj.init.DoneCtx.Done(): // closed by the engine to signal shutdown
case <-ctx.Done(): // closed by the engine to signal shutdown
return nil
}