1/* Worker code for test_worker.js */ 2import * as std from "std"; 3import * as os from "os"; 4 5var parent = os.Worker.parent; 6 7function handle_msg(e) { 8 var ev = e.data; 9 // print("child_recv", JSON.stringify(ev)); 10 switch(ev.type) { 11 case "abort": 12 parent.postMessage({ type: "done" }); 13 break; 14 case "sab": 15 /* modify the SharedArrayBuffer */ 16 ev.buf[2] = 10; 17 parent.postMessage({ type: "sab_done", buf: ev.buf }); 18 break; 19 } 20} 21 22function worker_main() { 23 var i; 24 25 parent.onmessage = handle_msg; 26 for(i = 0; i < 10; i++) { 27 parent.postMessage({ type: "num", num: i }); 28 } 29} 30 31worker_main(); 32