diff --git a/src/client.rs b/src/client.rs index 0886ca5..23f5c75 100644 --- a/src/client.rs +++ b/src/client.rs @@ -153,7 +153,11 @@ impl Client { while let Ok(cmd) = conn_rx.recv() { match cmd { - Command::Func(func) => func(&mut conn), + Command::Func(func) => { + let _ = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { + func(&mut conn); + })); + } Command::Shutdown(func) => match conn.close() { Ok(()) => { func(Ok(()));