diff options
Diffstat (limited to 'cli/tests/workers/racy_worker.js')
-rw-r--r-- | cli/tests/workers/racy_worker.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cli/tests/workers/racy_worker.js b/cli/tests/workers/racy_worker.js new file mode 100644 index 000000000..83756b791 --- /dev/null +++ b/cli/tests/workers/racy_worker.js @@ -0,0 +1,21 @@ +// See issue for details +// https://github.com/denoland/deno/issues/4080 +// +// After first call to `postMessage() this worker schedules +// [close(), postMessage()] ops on the same turn of microtask queue +// (because message is rather big). +// Only single `postMessage()` call should make it +// to host, ie. after calling `close()` no more code should be run. + +setTimeout(() => { + close(); +}, 50); + +while (true) { + await new Promise((done) => { + setTimeout(() => { + postMessage({ buf: new Array(999999) }); + done(); + }); + }); +} |