Skip to content

Commit a7fcaff

Browse files
committed
Do not install the watchdog if the extension host is debuggable (microsoft#26445)
1 parent e5943cb commit a7fcaff

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

src/vs/workbench/api/node/extHost.protocol.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import { ITreeItem } from 'vs/workbench/parts/views/common/views';
4848
import { ThemeColor } from 'vs/platform/theme/common/themeService';
4949

5050
export interface IEnvironment {
51+
isExtensionDevelopmentDebug: boolean;
5152
enableProposedApiForAll: boolean;
5253
enableProposedApiFor: string | string[];
5354
appSettingsHome: string;

src/vs/workbench/electron-browser/extensionHost.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,10 @@ export class ExtensionHostProcessWorker {
291291

292292
private createExtHostInitData(): TPromise<IInitData> {
293293
return TPromise.join<any>([this.telemetryService.getTelemetryInfo(), this.extensionService.getExtensions()]).then(([telemetryInfo, extensionDescriptions]) => {
294-
return <IInitData>{
294+
let r: IInitData = {
295295
parentPid: process.pid,
296296
environment: {
297+
isExtensionDevelopmentDebug: this.isExtensionDevelopmentDebug,
297298
appSettingsHome: this.environmentService.appSettingsHome,
298299
disableExtensions: this.environmentService.disableExtensions,
299300
userExtensionsHome: this.environmentService.extensionsPath,
@@ -308,6 +309,7 @@ export class ExtensionHostProcessWorker {
308309
configuration: this.configurationService.getConfigurationData(),
309310
telemetryInfo
310311
};
312+
return r;
311313
});
312314
}
313315

src/vs/workbench/node/extensionHostMain.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ export class ExtensionHostMain {
5454
errors.setUnexpectedErrorHandler(err => mainThreadErrors.onUnexpectedExtHostError(errors.transformErrorForSerialization(err)));
5555

5656
// Configure the watchdog to kill our process if the JS event loop is unresponsive for more than 10s
57-
watchdog.start(10000);
57+
if (!initData.environment.isExtensionDevelopmentDebug) {
58+
watchdog.start(10000);
59+
}
5860
}
5961

6062
public start(): TPromise<void> {

0 commit comments

Comments
 (0)