mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-29 17:05:46 +08:00
build: fix deadlock on handling deps errors
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
parent
c273e0986c
commit
3b2aeb2d5b
@ -859,15 +859,13 @@ func Build(ctx context.Context, drivers []DriverInfo, opt map[string]Options, do
|
|||||||
|
|
||||||
c := clients[dp.driverIndex]
|
c := clients[dp.driverIndex]
|
||||||
eg.Go(func() error {
|
eg.Go(func() error {
|
||||||
|
pw = progress.ResetTime(pw)
|
||||||
|
defer wg.Done()
|
||||||
|
|
||||||
if err := waitContextDeps(ctx, dp.driverIndex, results, &so); err != nil {
|
if err := waitContextDeps(ctx, dp.driverIndex, results, &so); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
pw = progress.ResetTime(pw)
|
|
||||||
defer wg.Done()
|
|
||||||
ch, done := progress.NewChannel(pw)
|
|
||||||
defer func() { <-done }()
|
|
||||||
|
|
||||||
frontendInputs := make(map[string]*pb.Definition)
|
frontendInputs := make(map[string]*pb.Definition)
|
||||||
for key, st := range so.FrontendInputs {
|
for key, st := range so.FrontendInputs {
|
||||||
def, err := st.Marshal(ctx)
|
def, err := st.Marshal(ctx)
|
||||||
@ -886,6 +884,9 @@ func Build(ctx context.Context, drivers []DriverInfo, opt map[string]Options, do
|
|||||||
so.FrontendAttrs = nil
|
so.FrontendAttrs = nil
|
||||||
so.FrontendInputs = nil
|
so.FrontendInputs = nil
|
||||||
|
|
||||||
|
ch, done := progress.NewChannel(pw)
|
||||||
|
defer func() { <-done }()
|
||||||
|
|
||||||
rr, err := c.Build(ctx, so, "buildx", func(ctx context.Context, c gateway.Client) (*gateway.Result, error) {
|
rr, err := c.Build(ctx, so, "buildx", func(ctx context.Context, c gateway.Client) (*gateway.Result, error) {
|
||||||
res, err := c.Solve(ctx, req)
|
res, err := c.Solve(ctx, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user