🎨 文件系统读取或写入失败时退出内核 https://github.com/siyuan-note/siyuan/issues/7707

This commit is contained in:
Liang Ding 2023-03-19 10:24:05 +08:00
parent c8cef8f455
commit 359b319ef6
No known key found for this signature in database
GPG key ID: 136F30F901A2231D

View file

@ -75,7 +75,7 @@ const exitApp = (type, id) => {
}
} else {
const currentURL = new URL(item.browserWindow.getURL());
if (currentURL.port === id) {
if (currentURL.port === id || currentURL.port === id.toString()) {
mainWindow = item.browserWindow;
if (workspaces.length > 1) {
item.browserWindow.destroy();
@ -486,7 +486,6 @@ const initKernel = (workspace, port, lang) => {
let cmd = `ui version [${appVer}], booting kernel [${kernelPath} ${cmds.join(
" ")}]`;
writeLog(cmd);
let kernelProcessPid = "";
if (!isDevEnv || workspaces.length > 0) {
const cp = require("child_process");
const kernelProcess = cp.spawn(kernelPath,
@ -495,12 +494,13 @@ const initKernel = (workspace, port, lang) => {
stdio: "ignore",
},
);
kernelProcessPid = kernelProcess.pid;
writeLog("booted kernel process [pid=" + kernelProcessPid + ", port=" +
kernelPort + "]");
const currentKernelPid = kernelProcess.pid;
const currentKernelPort = kernelPort;
writeLog("booted kernel process [pid=" + currentKernelPid + ", port=" + currentKernelPort + "]");
kernelProcess.on("close", (code) => {
writeLog(`kernel [pid=${kernelProcessPid}] exited with code [${code}]`);
writeLog(`kernel [pid=${currentKernelPid}, port=${currentKernelPort}] exited with code [${code}]`);
if (0 !== code) {
switch (code) {
case 20:
@ -550,7 +550,7 @@ const initKernel = (workspace, port, lang) => {
break;
}
exitApp("port", kernelPort);
exitApp("port", currentKernelPort);
bootWindow.destroy();
resolve(false);
}