on master help sign in
[lsp-restart]: call the force_shutdown method for the old_client (#3972)
b9ff5d0Alexis Kalabura
helix-lsp/src/lib.rs+5−1
@@ -370,7 +370,11 @@ impl Registry {
370 let NewClientResult(client, incoming) = start_client(id, language_config, config)?;
370 let NewClientResult(client, incoming) = start_client(id, language_config, config)?;
371 self.incoming.push(UnboundedReceiverStream::new(incoming));
371 self.incoming.push(UnboundedReceiverStream::new(incoming));
372
372
373− entry.insert((id, client.clone()));
373+ let (_, old_client) = entry.insert((id, client.clone()));
374+
375+ tokio::spawn(async move {
376+ let _ = old_client.force_shutdown().await;
377+ });
374
378
375 Ok(Some(client))
379 Ok(Some(client))
376 }
380 }