diff options
author | Anna Henningsen <anna@addaleax.net> | 2019-03-07 10:18:03 +0100 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-03-11 09:56:56 +0000 |
commit | a52aedeae08b57daedae56fd818be09df5f32e86 (patch) | |
tree | 60b9ea606dec5bb1fdeb64eb20fd4641bf560d74 /test | |
parent | 6113ba96cb941775f20369924484046cd8e05089 (diff) | |
download | android-node-v8-a52aedeae08b57daedae56fd818be09df5f32e86.tar.gz android-node-v8-a52aedeae08b57daedae56fd818be09df5f32e86.tar.bz2 android-node-v8-a52aedeae08b57daedae56fd818be09df5f32e86.zip |
worker: remove `ERR_CLOSED_MESSAGE_PORT`
This aligns `MessagePort`s more with the web API.
Refs: https://github.com/nodejs/node/issues/26463
PR-URL: https://github.com/nodejs/node/pull/26487
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-worker-message-port-close.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/parallel/test-worker-message-port-close.js b/test/parallel/test-worker-message-port-close.js new file mode 100644 index 0000000000..17a10559e4 --- /dev/null +++ b/test/parallel/test-worker-message-port-close.js @@ -0,0 +1,31 @@ +'use strict'; +const common = require('../common'); +const { MessageChannel } = require('worker_threads'); + +// Make sure that .start() and .stop() do not throw on closing/closed +// MessagePorts. +// Refs: https://github.com/nodejs/node/issues/26463 + +function dummy() {} + +{ + const { port1, port2 } = new MessageChannel(); + port1.close(common.mustCall(() => { + port1.on('message', dummy); + port1.off('message', dummy); + port2.on('message', dummy); + port2.off('message', dummy); + })); + port1.on('message', dummy); + port1.off('message', dummy); + port2.on('message', dummy); + port2.off('message', dummy); +} + +{ + const { port1 } = new MessageChannel(); + port1.on('message', dummy); + port1.close(common.mustCall(() => { + port1.off('message', dummy); + })); +} |