diff options
author | Aleksey Kladov <[email protected]> | 2019-09-06 18:58:21 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-09-06 18:58:21 +0100 |
commit | 219287a14c4e1d9f72465c81b34bd8cc2e2b2f44 (patch) | |
tree | 73d3eaf5d8bfcecc5dca0334f0e015026925cb2c /crates/ra_lsp_server/src | |
parent | 1acd9d5540bf755e87173fe16a803cfe8b2bb500 (diff) |
don't deadlock on shutdown
Specifically, when we tear down IO threads, we should take care to
dispose connection.
closes #1775
Diffstat (limited to 'crates/ra_lsp_server/src')
-rw-r--r-- | crates/ra_lsp_server/src/main.rs | 2 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main_loop.rs | 4 |
2 files changed, 3 insertions, 3 deletions
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<()> { | |||
66 | workspace_roots, | 66 | workspace_roots, |
67 | initialize_params.capabilities, | 67 | initialize_params.capabilities, |
68 | server_config, | 68 | server_config, |
69 | &connection, | 69 | connection, |
70 | )?; | 70 | )?; |
71 | 71 | ||
72 | log::info!("shutting down IO..."); | 72 | 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( | |||
52 | ws_roots: Vec<PathBuf>, | 52 | ws_roots: Vec<PathBuf>, |
53 | client_caps: ClientCapabilities, | 53 | client_caps: ClientCapabilities, |
54 | config: ServerConfig, | 54 | config: ServerConfig, |
55 | connection: &Connection, | 55 | connection: Connection, |
56 | ) -> Result<()> { | 56 | ) -> Result<()> { |
57 | log::info!("server_config: {:#?}", config); | 57 | log::info!("server_config: {:#?}", config); |
58 | 58 | ||
@@ -174,7 +174,7 @@ pub fn main_loop( | |||
174 | &pool, | 174 | &pool, |
175 | &task_sender, | 175 | &task_sender, |
176 | &libdata_sender, | 176 | &libdata_sender, |
177 | connection, | 177 | &connection, |
178 | &mut world_state, | 178 | &mut world_state, |
179 | &mut loop_state, | 179 | &mut loop_state, |
180 | event, | 180 | event, |