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

This commit is contained in:
Liang Ding 2022-09-17 22:56:02 +08:00
parent 3468fb0976
commit 9ab7030a81
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
10 changed files with 50 additions and 41 deletions

View file

@ -202,7 +202,7 @@ func (box *Box) saveConf0(data []byte) {
if err := os.MkdirAll(filepath.Join(util.DataDir, box.ID, ".siyuan"), 0755); nil != err {
logging.LogErrorf("save box conf [%s] failed: %s", confPath, err)
}
if err := filelock.NoLockFileWrite(confPath, data); nil != err {
if err := util.WriteFileSafer(confPath, data); nil != err {
logging.LogErrorf("save box conf [%s] failed: %s", confPath, err)
}
}
@ -292,8 +292,8 @@ func (box *Box) Move(oldPath, newPath string) error {
toPath := filepath.Join(boxLocalPath, newPath)
filelock.ReleaseFileLocks(fromPath)
util.WritingFileLock.Lock()
defer util.WritingFileLock.Unlock()
util.LockWriteFile()
defer util.UnlockWriteFile()
if err := os.Rename(fromPath, toPath); nil != err {
msg := fmt.Sprintf(Conf.Language(5), box.Name, fromPath, err)
logging.LogErrorf("move [path=%s] in box [%s] failed: %s", fromPath, box.Name, err)