diff --git a/pin.go b/pin.go index 7a3cabd..aa74c51 100644 --- a/pin.go +++ b/pin.go @@ -526,7 +526,11 @@ func (p *pinner) Update(ctx context.Context, from, to cid.Cid, unpin bool) error return fmt.Errorf("'from' cid was not recursively pinned already") } + // Temporarily unlock while we fetch the differences. + p.lock.Unlock() err := dagutils.DiffEnumerate(ctx, p.dserv, from, to) + p.lock.Lock() + if err != nil { return err }