Only try to launch tnc binary if it exists.

This commit is contained in:
Mashintime 2023-01-20 18:29:11 -05:00
parent fed4727a6c
commit 1ac9a1449d

View file

@ -316,74 +316,42 @@ app.whenReady().then(() => {
win.show(); win.show();
}, 3000); }, 3000);
// start daemon by checking os //Generate daemon binary path
var daemonPath = "";
switch (os.platform().toLowerCase()){
case "darwin":
case "linux":
daemonPath = path.join(process.resourcesPath, 'tnc', 'freedata-daemon')
break;
case "win32":
case "win64":
daemonPath = path.join(process.resourcesPath, 'tnc', 'freedata-daemon.exe')
break;
default:
break;
}
//Start daemon binary if it exists
if (fs.existsSync(daemonPath)){
mainLog.info('Starting freedata-daemon binary'); mainLog.info('Starting freedata-daemon binary');
daemonProcess = spawn(daemonPath,[],
if(os.platform()=='darwin'){
daemonProcess = spawn(path.join(process.resourcesPath, 'tnc', 'freedata-daemon'), [],
{ {
cwd: path.join(process.resourcesPath, 'tnc'), cwd: path.join(daemonPath,".."),
}); });
}
/*
process.resourcesPath -->
/tmp/.mount_FreeDAUQYfKb/resources
__dirname -->
/tmp/.mount_FreeDAUQYfKb/resources/app.asar
*/
if(os.platform()=='linux'){
/*
var folder = path.join(process.resourcesPath, 'tnc');
//var folder = path.join(__dirname, 'extraResources', 'tnc');
console.log(folder);
fs.readdir(folder, (err, files) => {
console.log(files);
});
*/
daemonProcess = spawn(path.join(process.resourcesPath, 'tnc', 'freedata-daemon'), [],
{
cwd: path.join(process.resourcesPath, 'tnc'),
});
}
if(os.platform()=='win32' || os.platform()=='win64'){
// for windows the relative path via path.join(__dirname) is not needed for some reason
//daemonProcess = exec('\\tnc\\daemon.exe', [])
daemonProcess = spawn(path.join(process.resourcesPath, 'tnc', 'freedata-daemon.exe'), [],
{
cwd: path.join(process.resourcesPath, 'tnc'),
});
}
// return process messages // return process messages
daemonProcess.on('error', (err) => { daemonProcess.on('error', (err) => {
daemonProcessLog.error(`error when starting daemon: ${err}`); daemonProcessLog.error(`error when starting daemon: ${err}`);
}); });
daemonProcess.on('message', (data) => { daemonProcess.on('message', (data) => {
daemonProcessLog.info(`${data}`); daemonProcessLog.info(`${data}`);
}); });
daemonProcess.stdout.on('data', (data) => { daemonProcess.stdout.on('data', (data) => {
daemonProcessLog.info(`${data}`); daemonProcessLog.info(`${data}`);
}); });
daemonProcess.stderr.on('data', (data) => { daemonProcess.stderr.on('data', (data) => {
daemonProcessLog.info(`${data}`); daemonProcessLog.info(`${data}`);
let arg = { let arg = {
entry: `${data}` entry: `${data}`
}; };
@ -398,23 +366,23 @@ app.whenReady().then(() => {
// an logging information will be pushed to the logger // an logging information will be pushed to the logger
} }
} }
}); });
daemonProcess.on('close', (code) => { daemonProcess.on('close', (code) => {
daemonProcessLog.warn(`daemonProcess exited with code ${code}`); daemonProcessLog.warn(`daemonProcess exited with code ${code}`);
}); });
} else {
daemonProcess=null;
daemonPath=null;
mainLog.info("Daemon binary doesn't exist--normal for dev environments.")
}
});
app.on('activate', () => {
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) { if (BrowserWindow.getAllWindows().length === 0) {
createWindow(); createWindow();
} }
})
}) })
app.on('window-all-closed', () => { app.on('window-all-closed', () => {
close_all(); close_all();
@ -782,6 +750,7 @@ function close_sub_processes(){
// closing the tnc binary if not closed when closing application and also our daemon which has been started by the gui // closing the tnc binary if not closed when closing application and also our daemon which has been started by the gui
try { try {
if (daemonProcess != null)
daemonProcess.kill(); daemonProcess.kill();
} catch (e) { } catch (e) {
mainLog.error(e) mainLog.error(e)