From ab059eea62512bc210a60a83fbd520841f4e215c Mon Sep 17 00:00:00 2001 From: Kornel Date: Thu, 5 Mar 2020 00:48:30 +0000 Subject: Runtimes --- reindex/src/bin/discover.rs | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) (limited to 'reindex') diff --git a/reindex/src/bin/discover.rs b/reindex/src/bin/discover.rs index 192d440..2868aee 100644 --- a/reindex/src/bin/discover.rs +++ b/reindex/src/bin/discover.rs @@ -6,26 +6,30 @@ use std::io::BufRead; use std::io::Write; #[tokio::main] -async fn main() -> Result<(), Box> { - let crates = KitchenSink::new_default().await?; +async fn main() -> Result<(), Box> { + let handle = tokio::runtime::Handle::current(); + handle.spawn(async { + let crates = KitchenSink::new_default().await?; - for line in io::stdin().lock().lines() { - let mut line = line?; - if line.trim().is_empty() { - continue; - } - if !line.starts_with("https://") { - line = format!("https://github.com/{}", line.trim_start_matches('/')); - } - if let Err(e) = check_repo(&line, &crates) { - eprintln!("{}: {}", line, e); - let mut src = e.source(); - while let Some(e) = src { - eprintln!(" {}", e); - src = e.source(); + for line in io::stdin().lock().lines() { + let mut line = line?; + if line.trim().is_empty() { + continue; + } + if !line.starts_with("https://") { + line = format!("https://github.com/{}", line.trim_start_matches('/')); + } + if let Err(e) = check_repo(&line, &crates) { + eprintln!("{}: {}", line, e); + let mut src = e.source(); + while let Some(e) = src { + eprintln!(" {}", e); + src = e.source(); + } } } - } + Ok::<_, Box>(()) + }).await??; Ok(()) } -- cgit v1.2.3