@@ -13,7 +13,7 @@ use std::{
13
13
sync:: atomic:: AtomicUsize ,
14
14
} ;
15
15
16
- use crossbeam_channel:: { never , select, unbounded, Receiver , Sender } ;
16
+ use crossbeam_channel:: { select, unbounded, Receiver , Sender } ;
17
17
use notify:: { Config , EventKind , RecommendedWatcher , RecursiveMode , Watcher } ;
18
18
use paths:: { AbsPath , AbsPathBuf , Utf8PathBuf } ;
19
19
use rayon:: iter:: { IndexedParallelIterator as _, IntoParallelIterator as _, ParallelIterator } ;
@@ -85,10 +85,13 @@ impl NotifyActor {
85
85
}
86
86
87
87
fn next_event ( & self , receiver : & Receiver < Message > ) -> Option < Event > {
88
- let watcher_receiver = self . watcher . as_ref ( ) . map ( |( _, receiver) | receiver) ;
88
+ let Some ( ( _, watcher_receiver) ) = & self . watcher else {
89
+ return receiver. recv ( ) . ok ( ) . map ( Event :: Message ) ;
90
+ } ;
91
+
89
92
select ! {
90
93
recv( receiver) -> it => it. ok( ) . map( Event :: Message ) ,
91
- recv( watcher_receiver. unwrap_or ( & never ( ) ) ) -> it => Some ( Event :: NotifyEvent ( it. unwrap( ) ) ) ,
94
+ recv( watcher_receiver) -> it => Some ( Event :: NotifyEvent ( it. unwrap( ) ) ) ,
92
95
}
93
96
}
94
97
0 commit comments