🎨 细化云端同步锁提升稳定性 https://github.com/siyuan-note/siyuan/issues/5887

This commit is contained in:
Liang Ding 2022-09-17 22:23:44 +08:00
parent 7bc8fba466
commit 90f45a420e
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
15 changed files with 79 additions and 81 deletions

View file

@ -238,7 +238,7 @@ func RollbackDocHistory(boxID, historyPath string) (err error) {
}
WaitForWritingFiles()
writingDataLock.Lock()
util.WritingFileLock.Lock()
srcPath := historyPath
var destPath string
@ -249,22 +249,22 @@ func RollbackDocHistory(boxID, historyPath string) (err error) {
workingDoc := treenode.GetBlockTree(id)
if nil != workingDoc {
if err = os.RemoveAll(filepath.Join(util.DataDir, boxID, workingDoc.Path)); nil != err {
writingDataLock.Unlock()
util.WritingFileLock.Unlock()
return
}
}
destPath, err = getRollbackDockPath(boxID, historyPath)
if nil != err {
writingDataLock.Unlock()
util.WritingFileLock.Unlock()
return
}
if err = gulu.File.Copy(srcPath, destPath); nil != err {
writingDataLock.Unlock()
util.WritingFileLock.Unlock()
return
}
writingDataLock.Unlock()
util.WritingFileLock.Unlock()
FullReindex()
IncSync()