mirror of
https://github.com/denoland/deno.git
synced 2024-11-26 16:09:27 -05:00
19f82b0eaa
This commit migrates "deno_core" from using "FuturesUnordered" to "tokio::task::JoinSet". This makes every op to be a separate Tokio task and should unlock better utilization of kqueue/epoll. There were two quirks added to this PR: - because of the fact that "JoinSet" immediately polls spawn tasks, op sanitizers can give false positives in some cases, this was alleviated by polling event loop once before running a test with "deno test", which gives canceled ops an opportunity to settle - "JsRuntimeState::waker" was moved to "OpState::waker" so that FFI API can still use threadsafe functions - without this change the registered wakers were wrong as they would not wake up the whole "JsRuntime" but the task associated with an op --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com> |
||
---|---|---|
.. | ||
coverage | ||
init | ||
repl | ||
vendor | ||
bench.rs | ||
bundle.rs | ||
check.rs | ||
compile.rs | ||
doc.rs | ||
fmt.rs | ||
info.rs | ||
installer.rs | ||
lint.rs | ||
mod.rs | ||
run.rs | ||
task.rs | ||
test.rs | ||
upgrade.rs |