From d51bf370f3a0ab4ea77bcacde416bf30735715fb Mon Sep 17 00:00:00 2001 From: Joey Hines Date: Sun, 31 Aug 2025 18:49:11 -0600 Subject: [PATCH] Fix UDP hangups at boot, check in cargo config --- .cargo/config.toml | 2 ++ .gitignore | 2 +- src/circular_buffer_source.rs | 9 --------- 3 files changed, 3 insertions(+), 10 deletions(-) create mode 100644 .cargo/config.toml diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..4e5bd93 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[registries.ahines] +index = "https://git.ahines.net/joeyahines/_cargo-index.git" \ No newline at end of file diff --git a/.gitignore b/.gitignore index db38427..c965b4d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /target -config.toml \ No newline at end of file +/config.toml \ No newline at end of file diff --git a/src/circular_buffer_source.rs b/src/circular_buffer_source.rs index 6ef8ef1..42603c0 100644 --- a/src/circular_buffer_source.rs +++ b/src/circular_buffer_source.rs @@ -10,7 +10,6 @@ const BUFFER_SIZE: usize = 64 * 1024; #[derive(Clone, Default)] pub struct CircularBufferSource { - condvar: Arc, circular_buffer: Arc>>, } @@ -20,7 +19,6 @@ impl Read for CircularBufferSource { if circ_buffer.is_empty() { buf.fill(0); - self.condvar.notify_all(); return Ok(buf.len()); } @@ -30,8 +28,6 @@ impl Read for CircularBufferSource { buf[ndx] = value; } - self.condvar.notify_all(); - Ok(bytes_to_read) } } @@ -40,12 +36,7 @@ impl Write for CircularBufferSource { fn write(&mut self, buf: &[u8]) -> std::io::Result { let mut circ_buffer = self.circular_buffer.lock().expect("Mutex was poisoned"); - while circ_buffer.len() + buf.len() > BUFFER_SIZE { - circ_buffer = self.condvar.wait(circ_buffer).expect("Mutex was poisoned"); - } - circ_buffer.extend_from_slice(buf); - self.condvar.notify_all(); Ok(buf.len()) }