Simplify helpers::await_task API

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2022-07-19 00:35:48 +10:00
parent 072253ebae
commit b223990bb1
No known key found for this signature in database
GPG key ID: 591C0B03040416D6
2 changed files with 8 additions and 6 deletions

View file

@ -39,9 +39,11 @@ pub use tls_version::TLSVersion;
mod crate_name;
pub use crate_name::CrateName;
pub async fn await_task<T>(task: tokio::task::JoinHandle<T>) -> miette::Result<T> {
task.await
.map_err(|join_err| miette::miette!("Task failed to join: {}", join_err))
pub async fn await_task<T>(task: tokio::task::JoinHandle<miette::Result<T>>) -> miette::Result<T> {
match task.await {
Ok(res) => res,
Err(join_err) => Err(miette::miette!("Task failed to join: {}", join_err)),
}
}
pub fn create_jobserver_client() -> Result<jobserver::Client, BinstallError> {

View file

@ -279,7 +279,7 @@ async fn entry() -> Result<()> {
// Confirm
let mut resolutions = Vec::with_capacity(tasks.len());
for task in tasks {
resolutions.push(await_task(task).await??);
resolutions.push(await_task(task).await?);
}
uithread.confirm().await?;
@ -308,7 +308,7 @@ async fn entry() -> Result<()> {
let jobserver_client = jobserver_client.clone();
tokio::spawn(async move {
let resolution = await_task(task).await??;
let resolution = await_task(task).await?;
install(resolution, opts, temp_dir_path, target, jobserver_client).await
})
})
@ -316,7 +316,7 @@ async fn entry() -> Result<()> {
};
for task in tasks {
await_task(task).await??;
await_task(task).await?;
}
if !opts.no_cleanup {