From ed8c3e6574eff6decabd50edfb74e638c44fcedf Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Mon, 23 Aug 2021 03:04:22 -0600 Subject: [PATCH] don't panic on defunct lsp process (#583) --- helix-lsp/src/transport.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/helix-lsp/src/transport.rs b/helix-lsp/src/transport.rs index 0710b449..5be694c8 100644 --- a/helix-lsp/src/transport.rs +++ b/helix-lsp/src/transport.rs @@ -222,10 +222,13 @@ impl Transport { loop { match Self::recv_server_message(&mut server_stdout, &mut recv_buffer).await { Ok(msg) => { - transport - .process_server_message(&client_tx, msg) - .await - .unwrap(); + match transport.process_server_message(&client_tx, msg).await { + Ok(_) => {} + Err(err) => { + error!("err: <- {:?}", err); + break; + } + }; } Err(err) => { error!("err: <- {:?}", err); @@ -254,10 +257,15 @@ impl Transport { mut client_rx: UnboundedReceiver, ) { while let Some(msg) = client_rx.recv().await { - transport + match transport .send_payload_to_server(&mut server_stdin, msg) .await - .unwrap() + { + Ok(_) => {} + Err(err) => { + error!("err: <- {:?}", err); + } + } } } }