diff options
author | Satya Rohith <me@satyarohith.com> | 2024-04-09 23:45:55 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-09 20:15:55 +0200 |
commit | 5a3ee6d9af875af032909489c0bed7db11b608dd (patch) | |
tree | 894744a0811b21179a65ee63858f50fbe4fc64d9 /runtime/js | |
parent | fad12b7c2ebd87a2a11f63998f4c2549fd405eff (diff) |
fix(ext/node): implement MessagePort.unref() (#23278)
Closes https://github.com/denoland/deno/issues/23252
Closes https://github.com/denoland/deno/issues/23264
Diffstat (limited to 'runtime/js')
-rw-r--r-- | runtime/js/99_main.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js index a66a1660e..e5b9b9778 100644 --- a/runtime/js/99_main.js +++ b/runtime/js/99_main.js @@ -294,7 +294,12 @@ async function pollForMessages() { ); } while (!isClosing) { - const data = await op_worker_recv_message(); + const recvMessage = op_worker_recv_message(); + if (globalThis[messagePort.unrefPollForMessages] === true) { + core.unrefOpPromise(recvMessage); + } + const data = await recvMessage; + // const data = await op_worker_recv_message(); if (data === null) break; const v = messagePort.deserializeJsMessageData(data); const message = v[0]; |