提交 7bf30c31 作者: Kevin Atkinson

Adder: Don't hold the PinLock when not pinning.

License: MIT
Signed-off-by: 's avatarKevin Atkinson <k@kevina.org>
上级 98fdffab
......@@ -349,9 +349,13 @@ func (adder *Adder) addNode(node *dag.Node, path string) error {
// Add the given file while respecting the adder.
func (adder *Adder) AddFile(file files.File) error {
adder.unlocker = adder.blockstore.PinLock()
if adder.Pin {
adder.unlocker = adder.blockstore.PinLock()
}
defer func() {
adder.unlocker.Unlock()
if adder.unlocker != nil {
adder.unlocker.Unlock()
}
}()
return adder.addFile(file)
......@@ -432,7 +436,7 @@ func (adder *Adder) addDir(dir files.File) error {
}
func (adder *Adder) maybePauseForGC() error {
if adder.blockstore.GCRequested() {
if adder.unlocker != nil && adder.blockstore.GCRequested() {
err := adder.PinRoot()
if err != nil {
return err
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论