run the actual ai module inside the shared process such that it cannot tamper with the main process, fixes #1000

This commit is contained in:
Johannes Rieken
2016-05-10 14:38:51 +02:00
parent 92d4db4f6c
commit 224bbb8b45
12 changed files with 161 additions and 165 deletions
+2
View File
@@ -7,6 +7,7 @@ import * as fs from 'fs';
import * as platform from 'vs/base/common/platform';
import { serve, Server, connect } from 'vs/base/parts/ipc/node/ipc.net';
import { TPromise } from 'vs/base/common/winjs.base';
import { registerAIChannel } from 'vs/base/parts/ai/node/ai.app';
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
@@ -52,6 +53,7 @@ function main(server: Server): void {
const extensionManagementService = accessor.get(IExtensionManagementService);
const channel = new ExtensionManagementChannel(extensionManagementService);
server.registerChannel('extensions', channel);
registerAIChannel(server);
// eventually clean up old extensions
setTimeout(() => (extensionManagementService as ExtensionManagementService).removeDeprecatedExtensions(), 5000);