From dccc6601b1ec4b27d0ba3242c689ec2a06c8e6af Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Tue, 6 Jan 2026 20:33:04 -0300 Subject: [PATCH] server: default UVC control to nonblocking --- server/src/bin/lesavka-uvc.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/src/bin/lesavka-uvc.rs b/server/src/bin/lesavka-uvc.rs index 99606f9..b51b8c1 100644 --- a/server/src/bin/lesavka-uvc.rs +++ b/server/src/bin/lesavka-uvc.rs @@ -120,6 +120,8 @@ fn main() -> Result<()> { ); let debug = env::var("LESAVKA_UVC_DEBUG").is_ok(); + let nonblock = env::var("LESAVKA_UVC_BLOCKING").is_err(); + eprintln!("[lesavka-uvc] nonblock={}", if nonblock { 1 } else { 0 }); let mut setup_seen: u64 = 0; let mut data_seen: u64 = 0; let mut dq_err_seen: u64 = 0; @@ -302,10 +304,11 @@ fn read_interface(path: &str) -> Option { } fn open_with_retry(path: &str) -> Result { + let nonblock = env::var("LESAVKA_UVC_BLOCKING").is_err(); for attempt in 1..=200 { let mut opts = OpenOptions::new(); opts.read(true).write(true); - if env::var("LESAVKA_UVC_NONBLOCK").is_ok() { + if nonblock { opts.custom_flags(libc::O_NONBLOCK); } match opts.open(path) {