Construct BinstallError from JoinError in main

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2022-07-21 20:43:47 +10:00
parent 6e5ecc46cf
commit d39bc0acab
No known key found for this signature in database
GPG key ID: 591C0B03040416D6

View file

@ -172,13 +172,16 @@ fn main() -> MainExit {
let done = start.elapsed(); let done = start.elapsed();
debug!("run time: {done:?}"); debug!("run time: {done:?}");
result.map_or_else(MainExit::JoinErr, |res| { result.map_or_else(
res.map(|_| MainExit::Success(done)).unwrap_or_else(|err| { |join_err| MainExit::Error(BinstallError::from(join_err)),
err.downcast::<BinstallError>() |res| {
.map(MainExit::Error) res.map(|_| MainExit::Success(done)).unwrap_or_else(|err| {
.unwrap_or_else(MainExit::Report) err.downcast::<BinstallError>()
}) .map(MainExit::Error)
}) .unwrap_or_else(MainExit::Report)
})
},
)
} }
async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> { async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {