cargo-binstall/crates/bin/src
Jiahao XU c5d0b84aa6
Perform startup/init code eagerly in entry::install_crates (#880)
The startup/init code in `entry::install_crates` performs a lot of blocking operations, from testing if dir exists to reading from files and there is no `.await` in there until after the startup.

There are also a few cases where `block_in_place` should be called (e.g. loading manifests, loading TLS certificates) but is missing.

Most of the `Args` passed to `entry::install_crates` are actually consumed before the first `.await` point, so performing startup/init code eagerly would make the generated future much smaller, reduce codegen and also makes it easier to optimize.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-11 15:06:46 +11:00
..
args.rs Rename --roots to --root (with alias for back compat) (#861) 2023-03-06 01:05:32 +00:00
bin_util.rs Perform startup/init code eagerly in entry::install_crates (#880) 2023-03-11 15:06:46 +11:00
entry.rs Perform startup/init code eagerly in entry::install_crates (#880) 2023-03-11 15:06:46 +11:00
install_path.rs Minor refactor and optimization (#543) 2022-11-19 20:00:27 +13:00
lib.rs Fix #588 race cond updating .crates.toml (#645) 2023-01-04 01:01:02 +00:00
logging.rs Feature: Better retry policy in binstalk-downloader (#794) 2023-02-13 13:43:48 +11:00
main.rs Perform startup/init code eagerly in entry::install_crates (#880) 2023-03-11 15:06:46 +11:00
manifests.rs Fix #588 race cond updating .crates.toml (#645) 2023-01-04 01:01:02 +00:00
ui.rs Fix panic in ui::confirm on I/O error (#576) 2022-11-29 05:53:45 +00:00