summaryrefslogtreecommitdiff
path: root/runtime/web_worker.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2022-05-10 10:26:57 +0100
committerGitHub <noreply@github.com>2022-05-10 11:26:57 +0200
commitcb884de2e92a051785ad4bd741153e69d9d2316c (patch)
treeeca083d597a12f5db69dbbc493f02b1e3e759c78 /runtime/web_worker.rs
parent2f7f41533bf3059bba55b206282080fc70a3eec8 (diff)
fix(runtime/web_worker): Use biased select when getting module result (#14553)
Diffstat (limited to 'runtime/web_worker.rs')
-rw-r--r--runtime/web_worker.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs
index 9f120539c..23281ad68 100644
--- a/runtime/web_worker.rs
+++ b/runtime/web_worker.rs
@@ -557,6 +557,8 @@ impl WebWorker {
let id = self.preload_module(module_specifier, false).await?;
let mut receiver = self.js_runtime.mod_evaluate(id);
tokio::select! {
+ biased;
+
maybe_result = &mut receiver => {
debug!("received module evaluate {:#?}", maybe_result);
maybe_result.expect("Module evaluation result not provided.")
@@ -579,6 +581,8 @@ impl WebWorker {
) -> Result<(), AnyError> {
let mut receiver = self.js_runtime.mod_evaluate(id);
tokio::select! {
+ biased;
+
maybe_result = &mut receiver => {
debug!("received worker module evaluate {:#?}", maybe_result);
// If `None` is returned it means that runtime was destroyed before