Add error listener

This commit is contained in:
Koen Vlaswinkel
2024-03-08 15:10:12 +01:00
parent 3050437cab
commit 0cbd96ff7c

View File

@@ -535,6 +535,7 @@ export class CodeQLCliServer implements Disposable {
let stdoutListener: ((newData: Buffer) => void) | undefined = undefined;
let stderrListener: ((newData: Buffer) => void) | undefined = undefined;
let closeListener: ((code: number | null) => void) | undefined = undefined;
let errorListener: ((err: Error) => void) | undefined = undefined;
try {
// The array of fragments of stdout
@@ -618,6 +619,9 @@ export class CodeQLCliServer implements Disposable {
}
}
};
errorListener = (err) => {
reject(err);
};
// Start listening to stdout
process.stdout.addListener("data", stdoutListener);
@@ -625,6 +629,8 @@ export class CodeQLCliServer implements Disposable {
process.stderr.addListener("data", stderrListener);
// Listen for process exit.
process.addListener("close", closeListener);
// Listen for errors
process.addListener("error", errorListener);
onListenStart?.(process);
});
@@ -668,6 +674,9 @@ export class CodeQLCliServer implements Disposable {
if (closeListener) {
process.removeListener("close", closeListener);
}
if (errorListener) {
process.removeListener("error", errorListener);
}
}
}