Skip to content

Commit f3cd886

Browse files
committed
fix(process): catch and log errors in exit queue
1 parent 8c21223 commit f3cd886

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

packages/@ionic/cli-framework/src/utils/process.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export function killProcessTree(pid: number, signal: string | number = 'SIGTERM'
1212
return new Promise((resolve, reject) => {
1313
kill(pid, signal, err => {
1414
if (err) {
15-
debug('error while killing process tree for %d: %o', pid, err);
15+
debug('error while killing process tree for %d: %O', pid, err);
1616
return reject(err);
1717
}
1818

@@ -111,8 +111,12 @@ const beforeExitHandlerWrapper = (signal: string) => lodash.once(async () => {
111111
debug(`onBeforeExit handler: ${signal} received`);
112112
debug(`onBeforeExit handler: running ${exitQueue.length} queued functions`);
113113

114-
for (const fn of exitQueue) {
115-
await fn();
114+
for (const [ i, fn ] of exitQueue.entries()) {
115+
try {
116+
await fn();
117+
} catch (e) {
118+
debug('Error from function %d in exit queue: %O', i, e);
119+
}
116120
}
117121

118122
debug(`onBeforeExit handler: exiting (exit code ${process.exitCode ? process.exitCode : 0})`);

0 commit comments

Comments
 (0)