summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/worker_threads.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills/worker_threads.ts')
-rw-r--r--ext/node/polyfills/worker_threads.ts12
1 files changed, 10 insertions, 2 deletions
diff --git a/ext/node/polyfills/worker_threads.ts b/ext/node/polyfills/worker_threads.ts
index e88e6368b..71999dd62 100644
--- a/ext/node/polyfills/worker_threads.ts
+++ b/ext/node/polyfills/worker_threads.ts
@@ -484,9 +484,17 @@ function webMessagePortToNodeMessagePort(port: MessagePort) {
// deno-lint-ignore no-explicit-any
const _listener = (ev: any) => listener(ev.data);
if (name == "message") {
- port.onmessage = _listener;
+ if (port.onmessage === null) {
+ port.onmessage = _listener;
+ } else {
+ port.addEventListener("message", _listener);
+ }
} else if (name == "messageerror") {
- port.onmessageerror = _listener;
+ if (port.onmessageerror === null) {
+ port.onmessageerror = _listener;
+ } else {
+ port.addEventListener("messageerror", _listener);
+ }
} else if (name == "close") {
port.addEventListener("close", _listener);
} else {