diff options
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_cargo_watch/src/lib.rs | 3 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main_loop.rs | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/crates/ra_cargo_watch/src/lib.rs b/crates/ra_cargo_watch/src/lib.rs index 11b624abf..d683d43d2 100644 --- a/crates/ra_cargo_watch/src/lib.rs +++ b/crates/ra_cargo_watch/src/lib.rs | |||
@@ -193,8 +193,7 @@ impl CheckWatcherState { | |||
193 | recv(self.watcher.message_recv) -> msg => match msg { | 193 | recv(self.watcher.message_recv) -> msg => match msg { |
194 | Ok(msg) => self.handle_message(msg, task_send), | 194 | Ok(msg) => self.handle_message(msg, task_send), |
195 | Err(RecvError) => { | 195 | Err(RecvError) => { |
196 | // Task channel has closed, so shut down | 196 | // Watcher finished, do nothing. |
197 | break; | ||
198 | }, | 197 | }, |
199 | } | 198 | } |
200 | }; | 199 | }; |
diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index e66b8f9eb..af1a487de 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs | |||
@@ -184,7 +184,10 @@ pub fn main_loop( | |||
184 | Err(RecvError) => Err("vfs died")?, | 184 | Err(RecvError) => Err("vfs died")?, |
185 | }, | 185 | }, |
186 | recv(libdata_receiver) -> data => Event::Lib(data.unwrap()), | 186 | recv(libdata_receiver) -> data => Event::Lib(data.unwrap()), |
187 | recv(world_state.check_watcher.task_recv) -> task => Event::CheckWatcher(task.unwrap()) | 187 | recv(world_state.check_watcher.task_recv) -> task => match task { |
188 | Ok(task) => Event::CheckWatcher(task), | ||
189 | Err(RecvError) => Err("check watcher died")?, | ||
190 | } | ||
188 | }; | 191 | }; |
189 | if let Event::Msg(Message::Request(req)) = &event { | 192 | if let Event::Msg(Message::Request(req)) = &event { |
190 | if connection.handle_shutdown(&req)? { | 193 | if connection.handle_shutdown(&req)? { |