From 89fd4d926464cd3603b97a79a412464d1a5d3ab0 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 20 Jan 2023 00:24:40 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E5=86=85=E6=A0=B8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=B0=83=E5=BA=A6=E6=9C=BA=E5=88=B6=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E7=A8=B3=E5=AE=9A=E6=80=A7=20https://github.com/siyua?= =?UTF-8?q?n-note/siyuan/issues/7113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/conf.go | 6 ------ kernel/task/queue.go | 15 ++++++++++++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 17497bd3e..364821337 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -406,12 +406,6 @@ func Close(force bool, execInstallPkg int) (exitCode int) { } } - //util.UIProcessIDs.Range(func(key, _ interface{}) bool { - // pid := key.(string) - // util.Kill(pid) - // return true - //}) - waitSecondForExecInstallPkg := false if !skipNewVerInstallPkg() { newVerInstallPkgPath := getNewVerInstallPkgPath() diff --git a/kernel/task/queue.go b/kernel/task/queue.go index c0d2850da..93518326b 100644 --- a/kernel/task/queue.go +++ b/kernel/task/queue.go @@ -111,6 +111,11 @@ const ( func Loop() { for { time.Sleep(10 * time.Millisecond) + if QueueStatusClosing == taskQueueStatus { + clearQueue() + break + } + task := popTask() if nil == task { continue @@ -121,9 +126,6 @@ func Loop() { } func CloseWait() { - queueLock.Lock() - defer queueLock.Unlock() - taskQueueStatus = QueueStatusClosing for { time.Sleep(10 * time.Millisecond) @@ -133,6 +135,13 @@ func CloseWait() { } } +func clearQueue() { + queueLock.Lock() + defer queueLock.Unlock() + + taskQueue = []*Task{} +} + func popTask() (ret *Task) { queueLock.Lock() defer queueLock.Unlock()