Ver Fonte

:art: 使用第三方同步盘时弹出提示并退出内核 https://github.com/siyuan-note/siyuan/issues/7683

Liang Ding há 2 anos atrás
pai
commit
e99b7fd588
1 ficheiros alterados com 16 adições e 0 exclusões
  1. 16 0
      kernel/model/storage.go

+ 16 - 0
kernel/model/storage.go

@@ -259,6 +259,10 @@ func setCriteria(criteria []*Criterion) (err error) {
 	err = filelock.WriteFile(lsPath, data)
 	if nil != err {
 		logging.LogErrorf("write storage [criteria] failed: %s", err)
+		if errors.Is(err, filelock.ErrUnableAccessFile) {
+			os.Exit(util.ExitCodeFileSysInconsistent)
+			return
+		}
 		return
 	}
 	return
@@ -274,6 +278,10 @@ func getCriteria() (ret []*Criterion, err error) {
 	data, err := filelock.ReadFile(dataPath)
 	if nil != err {
 		logging.LogErrorf("read storage [criteria] failed: %s", err)
+		if errors.Is(err, filelock.ErrUnableAccessFile) {
+			os.Exit(util.ExitCodeFileSysInconsistent)
+			return
+		}
 		return
 	}
 
@@ -345,6 +353,10 @@ func setLocalStorage(val interface{}) (err error) {
 	err = filelock.WriteFile(lsPath, data)
 	if nil != err {
 		logging.LogErrorf("write storage [local] failed: %s", err)
+		if errors.Is(err, filelock.ErrUnableAccessFile) {
+			os.Exit(util.ExitCodeFileSysInconsistent)
+			return
+		}
 		return
 	}
 	return
@@ -360,6 +372,10 @@ func getLocalStorage() (ret map[string]interface{}, err error) {
 	data, err := filelock.ReadFile(lsPath)
 	if nil != err {
 		logging.LogErrorf("read storage [local] failed: %s", err)
+		if errors.Is(err, filelock.ErrUnableAccessFile) {
+			os.Exit(util.ExitCodeFileSysInconsistent)
+			return
+		}
 		return
 	}