From 79b3bc05d6de520f1df73face1744ae3d8be0bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 11 Feb 2020 10:04:59 +0100 Subject: workers: basic event loop (#3828) * establish basic event loop for workers * make "self.close()" inside worker * remove "runWorkerMessageLoop() - instead manually call global function in Rust when message arrives. This is done in preparation for structured clone * refactor "WorkerChannel" and use distinct structs for internal and external channels; "WorkerChannelsInternal" and "WorkerHandle" * move "State.worker_channels_internal" to "Worker.internal_channels" * add "WorkerEvent" enum for child->host communication; currently "Message(Buf)" and "Error(ErrBox)" variants are supported * add tests for nested workers * add tests for worker throwing error on startup --- cli/js/compiler.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'cli/js/compiler.ts') diff --git a/cli/js/compiler.ts b/cli/js/compiler.ts index bf0287efe..4ca2887c6 100644 --- a/cli/js/compiler.ts +++ b/cli/js/compiler.ts @@ -40,10 +40,7 @@ import { Diagnostic } from "./diagnostics.ts"; import { fromTypeScriptDiagnostic } from "./diagnostics_util.ts"; import { assert } from "./util.ts"; import * as util from "./util.ts"; -import { - bootstrapWorkerRuntime, - runWorkerMessageLoop -} from "./runtime_worker.ts"; +import { bootstrapWorkerRuntime } from "./runtime_worker.ts"; interface CompilerRequestCompile { type: CompilerRequestType.Compile; @@ -340,13 +337,11 @@ async function wasmCompilerOnMessage({ function bootstrapTsCompilerRuntime(): void { bootstrapWorkerRuntime("TS"); globalThis.onmessage = tsCompilerOnMessage; - runWorkerMessageLoop(); } function bootstrapWasmCompilerRuntime(): void { bootstrapWorkerRuntime("WASM"); globalThis.onmessage = wasmCompilerOnMessage; - runWorkerMessageLoop(); } Object.defineProperties(globalThis, { -- cgit v1.2.3