still broken looping in lib-rs but marginally better so
parent
1cdefd1eca
commit
43e495ac6c
|
|
@ -73,10 +73,15 @@ impl Listener {
|
|||
fn listen(self, mut cb: impl FnMut(Vec<f32>)) {
|
||||
let (send, recv) = std::sync::mpsc::sync_channel(100);
|
||||
thread::spawn(move || { self._listen(send); });
|
||||
let mut signals = Signals::new(&[SIGINT]).unwrap();
|
||||
loop {
|
||||
match recv.recv_timeout(std::time::Duration::new(1, 0)) {
|
||||
Ok(msg) => cb(msg),
|
||||
Err(_) => break,
|
||||
Err(_) => {
|
||||
if signals.pending().count() > 0 {
|
||||
break;
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue