earlier check for stop signal
This commit is contained in:
parent
e86b11d058
commit
3bf5d96e04
1 changed files with 27 additions and 23 deletions
50
src/main.rs
50
src/main.rs
|
|
@ -25,7 +25,7 @@ fn main() {
|
|||
let stop_ctrlc = stop.clone();
|
||||
ctrlc::set_handler(move || {
|
||||
stop_ctrlc.store(true, Ordering::SeqCst);
|
||||
info!("stopping after chunk ...");
|
||||
info!("stopping as soon as possible ...");
|
||||
})
|
||||
.expect("Error setting Ctrl-C handler");
|
||||
|
||||
|
|
@ -48,29 +48,33 @@ fn main() {
|
|||
.interact()
|
||||
.map_or(None, |b| b.then_some(state))
|
||||
})
|
||||
.unwrap_or_else(|| match AppState::from_args(&args, &agent) {
|
||||
Ok(state) => {
|
||||
state.save().unwrap();
|
||||
state
|
||||
}
|
||||
Err(e) => {
|
||||
if let Some(cause) = match e {
|
||||
ureq::Error::StatusCode(403) => Some("Alias ID"),
|
||||
ureq::Error::Io(_) => Some("URL"),
|
||||
_ => None,
|
||||
} {
|
||||
println!(
|
||||
"{} probably wrong: {} – {:?}",
|
||||
style("Error!").red(),
|
||||
style(cause).cyan(),
|
||||
style(e.to_string()).yellow()
|
||||
);
|
||||
} else {
|
||||
error!("unknown error: {e}");
|
||||
println!("{}", style("Unknown Error!").red());
|
||||
}
|
||||
.unwrap_or_else(|| {
|
||||
stop.load(Ordering::SeqCst).then(|| exit(0));
|
||||
|
||||
exit(1);
|
||||
match AppState::from_args(&args, &agent) {
|
||||
Ok(state) => {
|
||||
state.save().unwrap();
|
||||
state
|
||||
}
|
||||
Err(e) => {
|
||||
if let Some(cause) = match e {
|
||||
ureq::Error::StatusCode(403) => Some("Alias ID"),
|
||||
ureq::Error::Io(_) => Some("URL"),
|
||||
_ => None,
|
||||
} {
|
||||
println!(
|
||||
"{} probably wrong: {} – {:?}",
|
||||
style("Error!").red(),
|
||||
style(cause).cyan(),
|
||||
style(e.to_string()).yellow()
|
||||
);
|
||||
} else {
|
||||
error!("unknown error: {e}");
|
||||
println!("{}", style("Unknown Error!").red());
|
||||
}
|
||||
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue