Skip to content

Commit

Permalink
Return error when acquire semaphore lock gets error
Browse files Browse the repository at this point in the history
Signed-off-by: Kanda Zhang <kanda.zhang@ibm.com>
  • Loading branch information
Kanda Zhang committed Mar 10, 2020
1 parent 143904c commit 76ae65c
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions copy/copy.go
Original file line number Diff line number Diff line change
Expand Up @@ -833,21 +833,24 @@ func (ic *imageCopier) copyLayers(ctx context.Context) error {
}
}

func() { // A scope for defer
if err := func() error { // A scope for defer
progressPool, progressCleanup := ic.c.newProgressPool(ctx)
defer progressCleanup()

for i, srcLayer := range srcInfos {
err = copySemaphore.Acquire(ctx, 1)
if err != nil {
logrus.Debug("Can't acquire semaphoer", err)
return errors.Wrapf(err, "Can't acquire semaphore")
}
go copyLayerHelper(i, srcLayer, encLayerBitmap[i], progressPool)
}

// Wait for all layers to be copied
copyGroup.Wait()
}()
return nil
}(); err != nil {
return err
}

destInfos := make([]types.BlobInfo, numLayers)
diffIDs := make([]digest.Digest, numLayers)
Expand Down

0 comments on commit 76ae65c

Please sign in to comment.