mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-27 10:46:09 +01:00
🎨 细化云端同步锁提升稳定性 https://github.com/siyuan-note/siyuan/issues/5887
This commit is contained in:
parent
7bc8fba466
commit
90f45a420e
15 changed files with 79 additions and 81 deletions
|
|
@ -35,8 +35,8 @@ import (
|
|||
|
||||
func CreateBox(name string) (id string, err error) {
|
||||
WaitForWritingFiles()
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
util.WritingFileLock.Lock()
|
||||
defer util.WritingFileLock.Unlock()
|
||||
|
||||
id = ast.NewNodeID()
|
||||
boxLocalPath := filepath.Join(util.DataDir, id)
|
||||
|
|
@ -55,8 +55,8 @@ func CreateBox(name string) (id string, err error) {
|
|||
|
||||
func RenameBox(boxID, name string) (err error) {
|
||||
WaitForWritingFiles()
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
util.WritingFileLock.Lock()
|
||||
defer util.WritingFileLock.Unlock()
|
||||
|
||||
box := Conf.Box(boxID)
|
||||
if nil == box {
|
||||
|
|
@ -73,8 +73,8 @@ func RenameBox(boxID, name string) (err error) {
|
|||
|
||||
func RemoveBox(boxID string) (err error) {
|
||||
WaitForWritingFiles()
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
util.WritingFileLock.Lock()
|
||||
defer util.WritingFileLock.Unlock()
|
||||
|
||||
if util.IsReservedFilename(boxID) {
|
||||
return errors.New(fmt.Sprintf("can not remove [%s] caused by it is a reserved file", boxID))
|
||||
|
|
@ -116,8 +116,8 @@ func RemoveBox(boxID string) (err error) {
|
|||
|
||||
func Unmount(boxID string) {
|
||||
WaitForWritingFiles()
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
util.WritingFileLock.Lock()
|
||||
defer util.WritingFileLock.Unlock()
|
||||
|
||||
unmount0(boxID)
|
||||
evt := util.NewCmdResult("unmount", 0, util.PushModeBroadcast, 0)
|
||||
|
|
@ -142,8 +142,8 @@ func unmount0(boxID string) {
|
|||
|
||||
func Mount(boxID string) (alreadyMount bool, err error) {
|
||||
WaitForWritingFiles()
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
util.WritingFileLock.Lock()
|
||||
defer util.WritingFileLock.Unlock()
|
||||
|
||||
localPath := filepath.Join(util.DataDir, boxID)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue