Skip to content

Commit

Permalink
Merge pull request #5111 from cpuguy83/fix_defer_ctx
Browse files Browse the repository at this point in the history
Always return non-nil contexts
  • Loading branch information
tonistiigi authored Jul 3, 2024
2 parents 2d69a25 + bffd558 commit f7bda27
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 11 deletions.
11 changes: 4 additions & 7 deletions frontend/gateway/gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -328,11 +328,8 @@ func (gf *gatewayFrontend) Solve(ctx context.Context, llbBridge frontend.Fronten
}
}

lbf, ctx, err := serveLLBBridgeForwarder(ctx, llbBridge, exec, gf.workers, inputs, sid, sm)
defer lbf.conn.Close() //nolint
if err != nil {
return nil, err
}
lbf, ctx := serveLLBBridgeForwarder(ctx, llbBridge, exec, gf.workers, inputs, sid, sm)
defer lbf.conn.Close()
defer lbf.Discard()

mdmnt, release, err := metadataMount(frontendDef)
Expand Down Expand Up @@ -498,7 +495,7 @@ func newBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLBBridg
return lbf
}

func serveLLBBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLBBridge, exec executor.Executor, workers worker.Infos, inputs map[string]*opspb.Definition, sid string, sm *session.Manager) (*llbBridgeForwarder, context.Context, error) {
func serveLLBBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLBBridge, exec executor.Executor, workers worker.Infos, inputs map[string]*opspb.Definition, sid string, sm *session.Manager) (*llbBridgeForwarder, context.Context) {
ctx, cancel := context.WithCancelCause(ctx)
lbf := newBridgeForwarder(ctx, llbBridge, exec, workers, inputs, sid, sm)
serverOpt := []grpc.ServerOption{
Expand All @@ -521,7 +518,7 @@ func serveLLBBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLB
cancel(errors.WithStack(context.Canceled))
}()

return lbf, ctx, nil
return lbf, ctx
}

type pipe struct {
Expand Down
2 changes: 1 addition & 1 deletion frontend/gateway/grpcclient/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -1262,7 +1262,7 @@ func grpcClientConn(ctx context.Context) (context.Context, *grpc.ClientConn, err

cc, err := grpc.DialContext(ctx, "localhost", dialOpts...)
if err != nil {
return nil, nil, errors.Wrap(err, "failed to create grpc client")
return ctx, nil, errors.Wrap(err, "failed to create grpc client")
}

ctx, cancel := context.WithCancelCause(ctx)
Expand Down
2 changes: 1 addition & 1 deletion session/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func grpcClientConn(ctx context.Context, conn net.Conn) (context.Context, *grpc.

cc, err := grpc.DialContext(ctx, "localhost", dialOpts...)
if err != nil {
return nil, nil, errors.Wrap(err, "failed to create grpc client")
return ctx, nil, errors.Wrap(err, "failed to create grpc client")
}

ctx, cancel := context.WithCancelCause(ctx)
Expand Down
4 changes: 2 additions & 2 deletions util/leaseutil/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func WithLease(ctx context.Context, ls leases.Manager, opts ...leases.Opt) (cont

lr, ctx, err := NewLease(ctx, ls, opts...)
if err != nil {
return nil, nil, err
return ctx, nil, err
}

return ctx, func(ctx context.Context) error {
Expand All @@ -31,7 +31,7 @@ func WithLease(ctx context.Context, ls leases.Manager, opts ...leases.Opt) (cont
func NewLease(ctx context.Context, lm leases.Manager, opts ...leases.Opt) (*LeaseRef, context.Context, error) {
l, err := lm.Create(ctx, append([]leases.Opt{leases.WithRandomID(), leases.WithExpiration(time.Hour)}, opts...)...)
if err != nil {
return nil, nil, err
return nil, ctx, err
}

ctx = leases.WithLease(ctx, l.ID)
Expand Down

0 comments on commit f7bda27

Please sign in to comment.