mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 23:20:13 +01:00
🎨 改进桌面端拉起内核 Fix https://github.com/siyuan-note/siyuan/issues/6996
This commit is contained in:
parent
ccfa53abe2
commit
88e6e1e84e
1 changed files with 10 additions and 22 deletions
|
|
@ -388,34 +388,22 @@ const initKernel = (workspace, lang) => {
|
||||||
if (!isDevEnv) {
|
if (!isDevEnv) {
|
||||||
writeLog('got kernel port [' + kernelPort + ']')
|
writeLog('got kernel port [' + kernelPort + ']')
|
||||||
} else {
|
} else {
|
||||||
const getAvailablePort = (port) => {
|
const getAvailablePort = () => {
|
||||||
if (!port) {
|
|
||||||
port = 6806
|
|
||||||
}
|
|
||||||
// https://gist.github.com/mikeal/1840641
|
// https://gist.github.com/mikeal/1840641
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((portResolve, portReject) => {
|
||||||
let tryGetPortCount = 0
|
|
||||||
const server = net.createServer()
|
const server = net.createServer()
|
||||||
server.on('error', error => {
|
server.on('error', error => {
|
||||||
writeLog(error)
|
writeLog(error)
|
||||||
if (2048 < ++tryGetPortCount) {
|
kernelPort = ""
|
||||||
writeLog(
|
portReject()
|
||||||
`failed to get available port [tryCount=${tryGetPortCount}, port=${port}]`)
|
})
|
||||||
reject()
|
server.listen(0, () => {
|
||||||
return
|
kernelPort = server.address().port
|
||||||
}
|
server.close(() => portResolve(kernelPort))
|
||||||
console.log("getAvailablePort error", port)
|
});
|
||||||
server.listen(++port, "127.0.0.1")
|
|
||||||
}).on('listening', () => {
|
|
||||||
console.log("getAvailablePort listening", port)
|
|
||||||
server.close(() => resolve(port))
|
|
||||||
}).listen(port, "127.0.0.1")
|
|
||||||
console.log("getAvailablePort", port)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
console.log("before", kernelPort)
|
await getAvailablePort()
|
||||||
kernelPort = await getAvailablePort(kernelPort)
|
|
||||||
console.log("after", kernelPort)
|
|
||||||
}
|
}
|
||||||
writeLog('got kernel port [' + kernelPort + ']')
|
writeLog('got kernel port [' + kernelPort + ']')
|
||||||
if (!kernelPort) {
|
if (!kernelPort) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue