summaryrefslogtreecommitdiff
path: root/ext/web/13_message_port.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/web/13_message_port.js')
-rw-r--r--ext/web/13_message_port.js5
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(