From: Ian Jackson Date: Sun, 22 Aug 2021 16:39:20 +0000 (+0100) Subject: error / panic handling X-Git-Tag: hippotat/1.0.0~96 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=dec033967d7917ceab34f0a29461959961b7b74d;p=hippotat.git error / panic handling Signed-off-by: Ian Jackson --- diff --git a/server/server.rs b/server/server.rs index dcadd54..a10961e 100644 --- a/server/server.rs +++ b/server/server.rs @@ -103,7 +103,7 @@ async fn main() { String, )> = vec![]; - let global = config::startup( + config::startup( "hippotatd", LinkEnd::Server, &opts.config, &opts.log, |ics| { @@ -192,13 +192,16 @@ async fn main() { }); tasks.push((ipif, format!("ipif"))); - Ok(global) + Ok(()) }); - let died = future::select_all( + let (output, died_i, _) = future::select_all( tasks.iter_mut().map(|e| &mut e.0) ).await; - error!("xxx {:?}", &died); - dbg!(global); + let task = &tasks[died_i].1; + match output { + Err(je) => error!("task panicked! {}: {}", task, &je), + Ok(e) => error!("task failed! {}: {}", task, &e), + } } diff --git a/server/suser.rs b/server/suser.rs index c2f11ff..69bbf87 100644 --- a/server/suser.rs +++ b/server/suser.rs @@ -35,7 +35,11 @@ pub async fn run(global: Arc, response: WebResponse | { reply_to.send(response) - .unwrap_or_else(|_: WebResponse| () /* oh dear */ /* xxx trace? */); + .unwrap_or_else(|_: WebResponse| { + /* oh dear */ + error!("unable to send response back to webserver! user={}", + &ic.link.client); + }); }; loop { @@ -202,5 +206,4 @@ pub async fn run(global: Arc, } } } - //Err(anyhow!("xxx")) }