Skip to content

Commit

Permalink
♻️ #4567
Browse files Browse the repository at this point in the history
  • Loading branch information
Vanessa219 committed Jan 5, 2023
1 parent 8d02bfa commit 040a4b3
Showing 1 changed file with 27 additions and 22 deletions.
49 changes: 27 additions & 22 deletions app/electron/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,10 @@ try {
}
} catch (e) {
console.error(e)
require('electron').dialog.showErrorBox('创建配置目录失败 Failed to create config directory',
'思源需要在用户家目录下创建配置文件夹(~/.config/siyuan),请确保该路径具有写入权限。\n\nSiYuan needs to create a configuration folder (~/.config/siyuan) in the user\'s home directory. Please make sure that the path has write permissions.')
require('electron').
dialog.
showErrorBox('创建配置目录失败 Failed to create config directory',
'思源需要在用户家目录下创建配置文件夹(~/.config/siyuan),请确保该路径具有写入权限。\n\nSiYuan needs to create a configuration folder (~/.config/siyuan) in the user\'s home directory. Please make sure that the path has write permissions.')
app.exit()
}

Expand Down Expand Up @@ -382,31 +384,33 @@ const initKernel = (workspace, lang) => {
resolve(false)
return
}
// 改进桌面端拉起内核 https://github.com/siyuan-note/siyuan/issues/6894
const getAvailablePort = (port) => {
// https://gist.github.com/mikeal/1840641
let tryGetPortCount = 0
const server = net.createServer()
return new Promise((resolve, reject) => server.on('error', error => {
writeLog(error)
if (2048 < ++tryGetPortCount) {
writeLog('failed to get available port [tryCount=' + tryGetPortCount +
', port=' + port + ']')
reject()
return
}
server.listen(++port)
}).on('listening', () => {
writeLog('got kernel port [' + port + ']')
server.close(() => resolve(port))
}).listen(port, '127.0.0.1'))
}
// TODO
if (!isDevEnv) {
writeLog('got kernel port [' + kernelPort + ']')
} else {
const getAvailablePort = (port) => {
if (!port) {
port = 6806
}
// https://gist.github.com/mikeal/1840641
let tryGetPortCount = 0
const server = net.createServer()
return new Promise((resolve, reject) => server.on('error', error => {
writeLog(error)
if (2048 < ++tryGetPortCount) {
writeLog(
`failed to get available port [tryCount=${tryGetPortCount}, port=${port}]`)
reject()
return
}
server.listen(++port, '127.0.0.1')
}).on('listening', () => {
server.close(() => resolve(port))
}).listen(port, '127.0.0.1'))
}
kernelPort = await getAvailablePort(kernelPort)
}
writeLog('got kernel port [' + kernelPort + ']')
if (!kernelPort) {
bootWindow.destroy()
resolve(false)
Expand Down Expand Up @@ -434,7 +438,8 @@ const initKernel = (workspace, lang) => {
},
)
kernelProcessPid = kernelProcess.pid
writeLog('booted kernel process [pid=' + kernelProcessPid + ', port=' + kernelPort + ']')
writeLog('booted kernel process [pid=' + kernelProcessPid + ', port=' +
kernelPort + ']')

kernelProcess.on('close', (code) => {
writeLog(
Expand Down

0 comments on commit 040a4b3

Please sign in to comment.