File tree 3 files changed +9
-19
lines changed
3 files changed +9
-19
lines changed Original file line number Diff line number Diff line change @@ -51,10 +51,9 @@ impl<'a> RequestDispatcher<'a> {
51
51
let _pctx = stdx:: panic_context:: enter ( panic_context) ;
52
52
f ( self . global_state , params)
53
53
} ;
54
- match result_to_response :: < R > ( req. id . clone ( ) , result) {
55
- Ok ( response) => self . global_state . respond ( response) ,
56
- Err ( _) => self . global_state . task_pool . handle . send_retry ( req) ,
57
- } ;
54
+ if let Ok ( response) = result_to_response :: < R > ( req. id . clone ( ) , result) {
55
+ self . global_state . respond ( response) ;
56
+ }
58
57
59
58
self
60
59
}
@@ -80,10 +79,9 @@ impl<'a> RequestDispatcher<'a> {
80
79
f ( global_state_snapshot, params)
81
80
} ) ;
82
81
83
- match thread_result_to_response :: < R > ( req. id . clone ( ) , result) {
84
- Ok ( response) => self . global_state . respond ( response) ,
85
- Err ( _) => self . global_state . task_pool . handle . send_retry ( req) ,
86
- } ;
82
+ if let Ok ( response) = thread_result_to_response :: < R > ( req. id . clone ( ) , result) {
83
+ self . global_state . respond ( response) ;
84
+ }
87
85
88
86
self
89
87
}
Original file line number Diff line number Diff line change @@ -173,13 +173,13 @@ impl GlobalState {
173
173
msg. ok( ) . map( Event :: Lsp ) ,
174
174
175
175
recv( self . task_pool. receiver) -> task =>
176
- task . ok ( ) . map ( Event :: Task ) ,
176
+ Some ( Event :: Task ( task . unwrap ( ) ) ) ,
177
177
178
178
recv( self . loader. receiver) -> task =>
179
- task . ok ( ) . map ( Event :: Vfs ) ,
179
+ Some ( Event :: Vfs ( task . unwrap ( ) ) ) ,
180
180
181
181
recv( self . flycheck_receiver) -> task =>
182
- task . ok ( ) . map ( Event :: Flycheck ) ,
182
+ Some ( Event :: Flycheck ( task . unwrap ( ) ) ) ,
183
183
}
184
184
}
185
185
Original file line number Diff line number Diff line change 2
2
//! properly.
3
3
use crossbeam_channel:: Sender ;
4
4
5
- use crate :: main_loop:: Task ;
6
-
7
5
pub ( crate ) struct TaskPool < T > {
8
6
sender : Sender < T > ,
9
7
inner : threadpool:: ThreadPool ,
@@ -46,9 +44,3 @@ impl<T> Drop for TaskPool<T> {
46
44
self . inner . join ( )
47
45
}
48
46
}
49
-
50
- impl TaskPool < Task > {
51
- pub ( crate ) fn send_retry ( & self , req : lsp_server:: Request ) {
52
- let _ = self . sender . send ( Task :: Retry ( req) ) ;
53
- }
54
- }
You can’t perform that action at this time.
0 commit comments