Skip to content

Commit d06e212

Browse files
authored
debt - keep unhandledrejection listener around on shutdown (microsoft#210212)
1 parent f2eff1c commit d06e212

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/vs/workbench/browser/workbench.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import 'vs/workbench/browser/style';
77
import { localize } from 'vs/nls';
8-
import { addDisposableListener, runWhenWindowIdle } from 'vs/base/browser/dom';
8+
import { runWhenWindowIdle } from 'vs/base/browser/dom';
99
import { Event, Emitter, setGlobalLeakWarningThreshold } from 'vs/base/common/event';
1010
import { RunOnceScheduler, timeout } from 'vs/base/common/async';
1111
import { isFirefox, isSafari, isChrome } from 'vs/base/browser/browser';
@@ -80,14 +80,16 @@ export class Workbench extends Layout {
8080
private registerErrorHandler(logService: ILogService): void {
8181

8282
// Listen on unhandled rejection events
83-
this._register(addDisposableListener(mainWindow, 'unhandledrejection', event => {
83+
// Note: intentionally not registered as disposable to handle
84+
// errors that can occur during shutdown phase.
85+
mainWindow.addEventListener('unhandledrejection', (event) => {
8486

8587
// See https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent
8688
onUnexpectedError(event.reason);
8789

8890
// Prevent the printing of this event to the console
8991
event.preventDefault();
90-
}));
92+
});
9193

9294
// Install handler for unexpected errors
9395
setUnexpectedErrorHandler(error => this.handleUnexpectedError(error, logService));

0 commit comments

Comments
 (0)