mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
fix rigctld socket crash
This commit is contained in:
parent
d3ca7dbf6c
commit
18d18bd901
1 changed files with 25 additions and 10 deletions
35
gui/main.js
35
gui/main.js
|
@ -879,6 +879,9 @@ ipcMain.on('request-stop-rigctld',(event,data)=>{
|
||||||
|
|
||||||
|
|
||||||
// CHECK RIGCTLD CONNECTION
|
// CHECK RIGCTLD CONNECTION
|
||||||
|
// create new socket so we are not reopening every time a new one
|
||||||
|
var rigctld_connection = new net.Socket();
|
||||||
|
var rigctld_connection_state = false;
|
||||||
ipcMain.on('request-check-rigctld',(event, data)=>{
|
ipcMain.on('request-check-rigctld',(event, data)=>{
|
||||||
|
|
||||||
try{
|
try{
|
||||||
|
@ -887,24 +890,36 @@ ipcMain.on('request-check-rigctld',(event, data)=>{
|
||||||
state: "unknown",
|
state: "unknown",
|
||||||
};
|
};
|
||||||
|
|
||||||
var rigctld = new net.Socket();
|
if(!rigctld_connection_state){
|
||||||
rigctld.connect(data.port, data.ip)
|
rigctld_connection = new net.Socket();
|
||||||
|
rigctld_connection.connect(data.port, data.ip)
|
||||||
rigctld.on('error', function() {
|
|
||||||
|
|
||||||
Data["state"] = "unknown/stopped - (" + data.ip + ":" + data.port + ")";
|
|
||||||
if (win !== null && win !== ''){
|
|
||||||
win.webContents.send('action-check-rigctld', Data);
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
rigctld.on('connect', function() {
|
// check if we have created a new socket object
|
||||||
|
if (typeof(rigctld_connection) != 'undefined') {
|
||||||
|
|
||||||
|
rigctld_connection.on('connect', function() {
|
||||||
|
rigctld_connection_state = true;
|
||||||
Data["state"] = "connection possible - (" + data.ip + ":" + data.port + ")";
|
Data["state"] = "connection possible - (" + data.ip + ":" + data.port + ")";
|
||||||
if (win !== null && win !== ''){
|
if (win !== null && win !== ''){
|
||||||
win.webContents.send('action-check-rigctld', Data);
|
win.webContents.send('action-check-rigctld', Data);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
rigctld_connection.on('error', function() {
|
||||||
|
rigctld_connection_state = false;
|
||||||
|
Data["state"] = "unknown/stopped - (" + data.ip + ":" + data.port + ")";
|
||||||
|
if (win !== null && win !== ''){
|
||||||
|
win.webContents.send('action-check-rigctld', Data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
rigctld_connection.on('end', function() {
|
||||||
|
rigctld_connection_state = false;
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue