From 219287a14c4e1d9f72465c81b34bd8cc2e2b2f44 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 6 Sep 2019 20:58:21 +0300 Subject: don't deadlock on shutdown Specifically, when we tear down IO threads, we should take care to dispose connection. closes #1775 --- crates/ra_lsp_server/src/main.rs | 2 +- crates/ra_lsp_server/src/main_loop.rs | 4 ++-- crates/ra_lsp_server/tests/heavy_tests/support.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'crates') diff --git a/crates/ra_lsp_server/src/main.rs b/crates/ra_lsp_server/src/main.rs index d40fed947..852fae027 100644 --- a/crates/ra_lsp_server/src/main.rs +++ b/crates/ra_lsp_server/src/main.rs @@ -66,7 +66,7 @@ fn run_server() -> Result<()> { workspace_roots, initialize_params.capabilities, server_config, - &connection, + connection, )?; log::info!("shutting down IO..."); diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index 25fa51b8a..2059f9800 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs @@ -52,7 +52,7 @@ pub fn main_loop( ws_roots: Vec, client_caps: ClientCapabilities, config: ServerConfig, - connection: &Connection, + connection: Connection, ) -> Result<()> { log::info!("server_config: {:#?}", config); @@ -174,7 +174,7 @@ pub fn main_loop( &pool, &task_sender, &libdata_sender, - connection, + &connection, &mut world_state, &mut loop_state, event, diff --git a/crates/ra_lsp_server/tests/heavy_tests/support.rs b/crates/ra_lsp_server/tests/heavy_tests/support.rs index 89f65cef4..86073b57d 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/support.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/support.rs @@ -118,7 +118,7 @@ impl Server { experimental: None, }, ServerConfig { with_sysroot, ..ServerConfig::default() }, - &connection, + connection, ) .unwrap() }) -- cgit v1.2.3