diff options
author | Satya Rohith <me@satyarohith.com> | 2024-04-29 14:23:54 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-29 08:53:54 +0000 |
commit | 455cf1743f70cb12025e36b3c4eb9a213fe77199 (patch) | |
tree | 7a8532218ad1b572d55444195315b0b53994ad1a /ext/web/13_message_port.js | |
parent | 021a0dc9b1063bff67dc295c61d9f4bf787c18fb (diff) |
fix(ext/node): add support for MessagePort.removeListener/off (#23598)
Closes https://github.com/denoland/deno/issues/23564
Diffstat (limited to 'ext/web/13_message_port.js')
-rw-r--r-- | ext/web/13_message_port.js | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/web/13_message_port.js b/ext/web/13_message_port.js index 4e4184f2a..93145e8f7 100644 --- a/ext/web/13_message_port.js +++ b/ext/web/13_message_port.js @@ -190,6 +190,11 @@ class MessagePort extends EventTarget { this[_enabled] = true; while (true) { if (this[_id] === null) break; + // Exit if no message event listeners are present in Node compat mode. + if ( + typeof this[nodeWorkerThreadCloseCb] == "function" && + messageEventListenerCount === 0 + ) break; let data; try { data = await op_message_port_recv_message( |