diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2022-09-06 12:18:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-06 13:18:23 +0200 |
commit | 118dd47ad0ced501b1ad8d9e1cc2a2f443f101e6 (patch) | |
tree | 15e7a58a63f442f58ded6d3b88d5baac0eabeb9b /cli/worker.rs | |
parent | d20e80fa501ca7530e23e7251749da2f2277e250 (diff) |
fix(watch): ignore unload errors on drop (#15782)
Diffstat (limited to 'cli/worker.rs')
-rw-r--r-- | cli/worker.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/cli/worker.rs b/cli/worker.rs index 9eae6709b..e766ec4aa 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -125,13 +125,18 @@ impl CliMainWorker { self.pending_unload = true; let result = loop { - let result = self.inner.worker.run_event_loop(false).await; - if !self + match self.inner.worker.run_event_loop(false).await { + Ok(()) => {} + Err(error) => break Err(error), + } + match self .inner .worker - .dispatch_beforeunload_event(&located_script_name!())? + .dispatch_beforeunload_event(&located_script_name!()) { - break result; + Ok(default_prevented) if default_prevented => {} // continue loop + Ok(_) => break Ok(()), + Err(error) => break Err(error), } }; self.pending_unload = false; @@ -152,11 +157,10 @@ impl CliMainWorker { impl Drop for FileWatcherModuleExecutor { fn drop(&mut self) { if self.pending_unload { - self + let _ = self .inner .worker - .dispatch_unload_event(&located_script_name!()) - .unwrap(); + .dispatch_unload_event(&located_script_name!()); } } } |