forked from TrueCloudLab/restic
lock: Shrink critical section in RefreshStaleLock
A cleaning up after a failed lock refresh attempt does not require a mutex.
This commit is contained in:
parent
76253b2a20
commit
3f63b53090
1 changed files with 3 additions and 3 deletions
|
@ -306,15 +306,15 @@ func (l *Lock) RefreshStaleLock(ctx context.Context) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
l.lock.Lock()
|
|
||||||
defer l.lock.Unlock()
|
|
||||||
|
|
||||||
if !exists {
|
if !exists {
|
||||||
// cleanup replacement lock
|
// cleanup replacement lock
|
||||||
_ = l.repo.Backend().Remove(context.TODO(), Handle{Type: LockFile, Name: id.String()})
|
_ = l.repo.Backend().Remove(context.TODO(), Handle{Type: LockFile, Name: id.String()})
|
||||||
return ErrRemovedLock
|
return ErrRemovedLock
|
||||||
}
|
}
|
||||||
|
|
||||||
|
l.lock.Lock()
|
||||||
|
defer l.lock.Unlock()
|
||||||
|
|
||||||
debug.Log("new lock ID %v", id)
|
debug.Log("new lock ID %v", id)
|
||||||
oldLockID := l.lockID
|
oldLockID := l.lockID
|
||||||
l.lockID = &id
|
l.lockID = &id
|
||||||
|
|
Loading…
Reference in a new issue