mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 15:04:11 -05:00
53b6356ec5
op_fetch_module_meta_data is an op that is used by the TypeScript compiler. TypeScript requires this op to be sync. However the implementation of the op does things on the event loop (like fetching HTTP resources). In certain situations this can lead to deadlocks. The runtime's thread pool can be filled with ops waiting on the result of op_fetch_module_meta_data. The runtime has a maximum number of threads it can use (the number of logical CPUs on the system). This patch changes tokio_util::block_on to launch a new Tokio runtime for evaluating the future, thus bipassing the max-thread problem. This is only an issue in op_fetch_module_meta_data. Other synchronous ops are truly synchornous, not interacting with the event loop. TODO comments are added to direct future development. |
||
---|---|---|
.. | ||
ansi.rs | ||
BUILD.gn | ||
build.rs | ||
Cargo.toml | ||
compiler.rs | ||
deno_dir.rs | ||
dispatch_minimal.rs | ||
errors.rs | ||
flags.rs | ||
fs.rs | ||
global_timer.rs | ||
http_body.rs | ||
http_util.rs | ||
js_errors.rs | ||
main.rs | ||
msg.fbs | ||
msg.rs | ||
msg_util.rs | ||
ops.rs | ||
permissions.rs | ||
progress.rs | ||
repl.rs | ||
resolve_addr.rs | ||
resources.rs | ||
signal.rs | ||
startup_data.rs | ||
state.rs | ||
tokio_util.rs | ||
tokio_write.rs | ||
version.rs | ||
worker.rs |