summaryrefslogtreecommitdiff
path: root/runtime/worker.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2022-04-13 10:50:57 +0100
committerGitHub <noreply@github.com>2022-04-13 11:50:57 +0200
commit4d18f558e4cfebc5b8d9d594401e3ce74fc3226b (patch)
treead13a194d22b3318cf862d9ae5214143f891930a /runtime/worker.rs
parentd621ce1cf01ea9bb5562ea3bbed7c2d1db799c91 (diff)
feat(ext/web): Add error events for event listener and timer errors (#14159)
- feat: Add handleable error event for even listener errors - feat: Add handleable error event for setTimeout()/setInterval() errors - feat: Add Deno.core.destructureError() - feat: Add Deno.core.terminate() - fix: Don't throw listener errors from dispatchEvent() - fix: Use biased mode when selecting between mod_evaluate() and run_event_loop() results
Diffstat (limited to 'runtime/worker.rs')
-rw-r--r--runtime/worker.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/worker.rs b/runtime/worker.rs
index db9490dbe..983f174aa 100644
--- a/runtime/worker.rs
+++ b/runtime/worker.rs
@@ -217,6 +217,10 @@ impl MainWorker {
async fn evaluate_module(&mut self, id: ModuleId) -> Result<(), AnyError> {
let mut receiver = self.js_runtime.mod_evaluate(id);
tokio::select! {
+ // Not using biased mode leads to non-determinism for relatively simple
+ // programs.
+ biased;
+
maybe_result = &mut receiver => {
debug!("received module evaluate {:#?}", maybe_result);
maybe_result.expect("Module evaluation result not provided.")