mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
refactor: cleanup compiler runtimes (#4230)
- Cleanup "tsCompilerOnMessage" by factoring out separate methods for each request type: * "compile" * "runtimeCompile" * "runtimeTranspile" - Simplify control flow of compiler workers by a) no longer calling "close()" in worker runtime after a single message; b) explicitly shutting down worker from host after a single message Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
This commit is contained in:
parent
159de0245d
commit
52b96fc22a
3 changed files with 270 additions and 253 deletions
|
@ -134,11 +134,7 @@ async fn execute_in_thread(
|
|||
WorkerEvent::Message(buf) => Ok(buf),
|
||||
WorkerEvent::Error(error) => Err(error),
|
||||
}?;
|
||||
// Compiler worker finishes after one request
|
||||
// so we should receive signal that channel was closed.
|
||||
// Then close worker's channel and join the thread.
|
||||
let event = handle.get_event().await;
|
||||
assert!(event.is_none());
|
||||
// Shutdown worker and wait for thread to finish
|
||||
handle.sender.close_channel();
|
||||
join_handle.join().unwrap();
|
||||
Ok(buf)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue