Skip to content

Commit d135eb2

Browse files
committed
chore: process spawn error handling
1 parent 6818345 commit d135eb2

2 files changed

Lines changed: 5 additions & 0 deletions

File tree

src-electron/main-app-ipc.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,11 @@ function registerAppIpcHandlers() {
7878
});
7979

8080
childProcess.on('error', (err) => {
81+
instance.terminated = true;
8182
console.error(`Failed to start process (instance ${instanceId}):`, err);
83+
if (!sender.isDestroyed()) {
84+
sender.send('process-error', instanceId, { message: err.message, code: err.code });
85+
}
8286
});
8387

8488
return instanceId;

src-electron/preload.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ contextBridge.exposeInMainWorld('electronAppAPI', {
1111
onProcessStdout: (callback) => ipcRenderer.on('process-stdout', (_event, instanceId, line) => callback(instanceId, line)),
1212
onProcessStderr: (callback) => ipcRenderer.on('process-stderr', (_event, instanceId, line) => callback(instanceId, line)),
1313
onProcessClose: (callback) => ipcRenderer.on('process-close', (_event, instanceId, data) => callback(instanceId, data)),
14+
onProcessError: (callback) => ipcRenderer.on('process-error', (_event, instanceId, err) => callback(instanceId, err)),
1415

1516
// Quit the app with an exit code (for CI)
1617
quitApp: (exitCode) => ipcRenderer.invoke('quit-app', exitCode),

0 commit comments

Comments
 (0)