@@ -13,7 +13,7 @@ use std::{
1313 sync:: atomic:: AtomicUsize ,
1414} ;
1515
16- use crossbeam_channel:: { never , select, unbounded, Receiver , Sender } ;
16+ use crossbeam_channel:: { select, unbounded, Receiver , Sender } ;
1717use notify:: { Config , EventKind , RecommendedWatcher , RecursiveMode , Watcher } ;
1818use paths:: { AbsPath , AbsPathBuf , Utf8PathBuf } ;
1919use rayon:: iter:: { IndexedParallelIterator as _, IntoParallelIterator as _, ParallelIterator } ;
@@ -85,10 +85,13 @@ impl NotifyActor {
8585 }
8686
8787 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+
8992 select ! {
9093 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( ) ) ) ,
9295 }
9396 }
9497
0 commit comments