mirror of
https://github.com/rosenpass/rosenpass.git
synced 2025-12-12 15:49:22 -08:00
chore(rp): Simplify error handling in exchange()
This commit is contained in:
@@ -530,24 +530,5 @@ pub async fn exchange(options: ExchangeOptions) -> Result<()> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
log::info!("Starting to perform rosenpass key exchanges!");
|
log::info!("Starting to perform rosenpass key exchanges!");
|
||||||
let out = srv.event_loop();
|
srv.event_loop()
|
||||||
|
|
||||||
match out {
|
|
||||||
Ok(_) => Ok(()),
|
|
||||||
Err(e) => {
|
|
||||||
// Check if the returned error is actually EINTR, in which case, the run actually
|
|
||||||
// succeeded.
|
|
||||||
let is_ok = if let Some(e) = e.root_cause().downcast_ref::<std::io::Error>() {
|
|
||||||
matches!(e.kind(), std::io::ErrorKind::Interrupted)
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
};
|
|
||||||
|
|
||||||
if is_ok {
|
|
||||||
Ok(())
|
|
||||||
} else {
|
|
||||||
Err(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user