Skip to content

Commit f7bda27

Browse files
authored
Merge pull request moby#5111 from cpuguy83/fix_defer_ctx
Always return non-nil contexts
2 parents 2d69a25 + bffd558 commit f7bda27

File tree

4 files changed

+8
-11
lines changed

4 files changed

+8
-11
lines changed

frontend/gateway/gateway.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -328,11 +328,8 @@ func (gf *gatewayFrontend) Solve(ctx context.Context, llbBridge frontend.Fronten
328328
}
329329
}
330330

331-
lbf, ctx, err := serveLLBBridgeForwarder(ctx, llbBridge, exec, gf.workers, inputs, sid, sm)
332-
defer lbf.conn.Close() //nolint
333-
if err != nil {
334-
return nil, err
335-
}
331+
lbf, ctx := serveLLBBridgeForwarder(ctx, llbBridge, exec, gf.workers, inputs, sid, sm)
332+
defer lbf.conn.Close()
336333
defer lbf.Discard()
337334

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

501-
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) {
498+
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) {
502499
ctx, cancel := context.WithCancelCause(ctx)
503500
lbf := newBridgeForwarder(ctx, llbBridge, exec, workers, inputs, sid, sm)
504501
serverOpt := []grpc.ServerOption{
@@ -521,7 +518,7 @@ func serveLLBBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLB
521518
cancel(errors.WithStack(context.Canceled))
522519
}()
523520

524-
return lbf, ctx, nil
521+
return lbf, ctx
525522
}
526523

527524
type pipe struct {

frontend/gateway/grpcclient/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1262,7 +1262,7 @@ func grpcClientConn(ctx context.Context) (context.Context, *grpc.ClientConn, err
12621262

12631263
cc, err := grpc.DialContext(ctx, "localhost", dialOpts...)
12641264
if err != nil {
1265-
return nil, nil, errors.Wrap(err, "failed to create grpc client")
1265+
return ctx, nil, errors.Wrap(err, "failed to create grpc client")
12661266
}
12671267

12681268
ctx, cancel := context.WithCancelCause(ctx)

session/grpc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func grpcClientConn(ctx context.Context, conn net.Conn) (context.Context, *grpc.
5858

5959
cc, err := grpc.DialContext(ctx, "localhost", dialOpts...)
6060
if err != nil {
61-
return nil, nil, errors.Wrap(err, "failed to create grpc client")
61+
return ctx, nil, errors.Wrap(err, "failed to create grpc client")
6262
}
6363

6464
ctx, cancel := context.WithCancelCause(ctx)

util/leaseutil/manager.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func WithLease(ctx context.Context, ls leases.Manager, opts ...leases.Opt) (cont
2020

2121
lr, ctx, err := NewLease(ctx, ls, opts...)
2222
if err != nil {
23-
return nil, nil, err
23+
return ctx, nil, err
2424
}
2525

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

3737
ctx = leases.WithLease(ctx, l.ID)

0 commit comments

Comments
 (0)