Skip to content

Commit 13c8667

Browse files
authored
fix: gracefully handle process stdout/stderr EPIPE error (microsoft#186717)
fix: implement alternative solution for epipe error
1 parent 00bfb87 commit 13c8667

File tree

1 file changed

+6
-2
lines changed
  • src/vs/code/electron-main

1 file changed

+6
-2
lines changed

src/vs/code/electron-main/app.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { validatedIpcMain } from 'vs/base/parts/ipc/electron-main/ipcMain';
99
import { hostname, release } from 'os';
1010
import { VSBuffer } from 'vs/base/common/buffer';
1111
import { toErrorMessage } from 'vs/base/common/errorMessage';
12-
import { onUnexpectedError, setUnexpectedErrorHandler } from 'vs/base/common/errors';
12+
import { isSigPipeError, onUnexpectedError, setUnexpectedErrorHandler } from 'vs/base/common/errors';
1313
import { isEqualOrParent } from 'vs/base/common/extpath';
1414
import { once } from 'vs/base/common/functional';
1515
import { stripComments } from 'vs/base/common/json';
@@ -336,7 +336,11 @@ export class CodeApplication extends Disposable {
336336

337337
// We handle uncaught exceptions here to prevent electron from opening a dialog to the user
338338
setUnexpectedErrorHandler(error => this.onUnexpectedError(error));
339-
process.on('uncaughtException', error => onUnexpectedError(error));
339+
process.on('uncaughtException', error => {
340+
if (!isSigPipeError(error)) {
341+
onUnexpectedError(error);
342+
}
343+
});
340344
process.on('unhandledRejection', (reason: unknown) => onUnexpectedError(reason));
341345

342346
// Dispose on shutdown

0 commit comments

Comments
 (0)