/* Worker code for test_worker.js */ import * as std from "std"; import * as os from "os"; var parent = os.Worker.parent; function handle_msg(e) { var ev = e.data; // print("child_recv", JSON.stringify(ev)); switch(ev.type) { case "abort": parent.postMessage({ type: "done" }); parent.onMessage = null; /* terminate the worker */ break; case "sab": /* modify the SharedArrayBuffer */ ev.buf[2] = 10; parent.postMessage({ type: "sab_done", buf: ev.buf }); break; } } function worker_main() { var i; parent.onmessage = handle_msg; for(i = 0; i < 10; i++) { parent.postMessage({ type: "num", num: i }); } } worker_main();