diff options
| author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-04-10 00:15:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-10 00:15:17 +0200 |
| commit | be71885628c3820cc4e62d229326de16a6830fec (patch) | |
| tree | 664bac497658757a77b3d96cc71a1155613b20b1 /cli/tests/subdir/racy_worker.js | |
| parent | ac215a24613636b6e84b37a86dc4711dfaa4f2cc (diff) | |
implement Worker.terminate() and self.close() (#4684)
Diffstat (limited to 'cli/tests/subdir/racy_worker.js')
| -rw-r--r-- | cli/tests/subdir/racy_worker.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cli/tests/subdir/racy_worker.js b/cli/tests/subdir/racy_worker.js new file mode 100644 index 000000000..83756b791 --- /dev/null +++ b/cli/tests/subdir/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(); + }); + }); +} |
