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

This commit is contained in:
Liang Ding 2023-03-16 23:03:37 +08:00
parent d15200957d
commit f63d09fa1a
No known key found for this signature in database
GPG Key ID: 136F30F901A2231D

View File

@ -126,13 +126,21 @@ var (
TaskActionLangs = map[string]map[string]interface{}{} TaskActionLangs = map[string]map[string]interface{}{}
) )
var thirdPartySyncCheckTicker = time.NewTicker(time.Second * 10) var (
thirdPartySyncCheckTicker = time.NewTicker(time.Minute * 30)
firstThirdPartySyncCheck = true
)
func CheckFileSysStatus() { func CheckFileSysStatus() {
if ContainerStd != Container { if ContainerStd != Container {
return return
} }
if firstThirdPartySyncCheck {
firstThirdPartySyncCheck = false
time.Sleep(time.Second * 10)
}
reportFileSysFatalError := func(err error) { reportFileSysFatalError := func(err error) {
stack := debug.Stack() stack := debug.Stack()
logging.LogErrorf("check file system status failed: %s, %s", err, stack) logging.LogErrorf("check file system status failed: %s, %s", err, stack)
@ -142,8 +150,6 @@ func CheckFileSysStatus() {
const fileSysStatusCheckFile = "filesys_status_check" const fileSysStatusCheckFile = "filesys_status_check"
for { for {
<-thirdPartySyncCheckTicker.C
workspaceDirLower := strings.ToLower(WorkspaceDir) workspaceDirLower := strings.ToLower(WorkspaceDir)
if strings.Contains(workspaceDirLower, "onedrive") || strings.Contains(workspaceDirLower, "dropbox") || if strings.Contains(workspaceDirLower, "onedrive") || strings.Contains(workspaceDirLower, "dropbox") ||
strings.Contains(workspaceDirLower, "google drive") || strings.Contains(workspaceDirLower, "pcloud") { strings.Contains(workspaceDirLower, "google drive") || strings.Contains(workspaceDirLower, "pcloud") {
@ -162,7 +168,7 @@ func CheckFileSysStatus() {
continue continue
} }
for i := 0; i < 32; i++ { for i := 0; i < 16; i++ {
tmp := filepath.Join(dir, "check_"+gulu.Rand.String(7)) tmp := filepath.Join(dir, "check_"+gulu.Rand.String(7))
data := make([]byte, 1024*4) data := make([]byte, 1024*4)
_, err := rand.Read(data) _, err := rand.Read(data)
@ -178,7 +184,7 @@ func CheckFileSysStatus() {
time.Sleep(time.Second) time.Sleep(time.Second)
for j := 0; j < 32; j++ { for j := 0; j < 64; j++ {
f, err := os.Open(tmp) f, err := os.Open(tmp)
if nil != err { if nil != err {
reportFileSysFatalError(err) reportFileSysFatalError(err)
@ -225,6 +231,8 @@ func CheckFileSysStatus() {
reportFileSysFatalError(err) reportFileSysFatalError(err)
break break
} }
<-thirdPartySyncCheckTicker.C
} }
} }
} }