Skip to content

Commit 902cd8c

Browse files
committed
Fix rx_threaded reader shutdown handling
1 parent c12d23f commit 902cd8c

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

examples/rx_threaded.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,18 @@ pub fn main() -> Result<(), Box<dyn Error>> {
6868
if terminate.load(Ordering::Relaxed) {
6969
break;
7070
}
71-
let r_buff = match r.slice() {
72-
Some(b) => b,
73-
None => {
74-
std::thread::sleep(std::time::Duration::from_millis(10));
75-
continue;
76-
}
71+
let Some(r_buff) = r.slice() else {
72+
break;
7773
};
7874
let l = r_buff.len();
7975
println!("received {l} samples");
8076
r.consume(l);
8177
}
8278

83-
if let Err(e) = rx_thread.join() {
84-
std::panic::resume_unwind(e);
79+
match rx_thread.join() {
80+
Ok(Ok(())) => {}
81+
Ok(Err(e)) => return Err(e),
82+
Err(e) => std::panic::resume_unwind(e),
8583
}
8684
Ok(())
8785
}

0 commit comments

Comments
 (0)