From 6bc00bd84deda4b2ca1a1588709b6917fe296181 Mon Sep 17 00:00:00 2001 From: Ferdinand Schober Date: Sun, 3 Nov 2024 12:34:47 +0100 Subject: [PATCH] terminate capture in all instances --- src/capture.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/capture.rs b/src/capture.rs index cf09507..3691382 100644 --- a/src/capture.rs +++ b/src/capture.rs @@ -186,8 +186,17 @@ async fn do_capture( /* create barriers for active clients */ for (handle, pos) in clients { tokio::select! { - r = capture.create(handle, to_capture_pos(pos)) => r?, - _ = wait_for_termination(request_rx) => return Ok(()), + r = capture.create(handle, to_capture_pos(pos)) => match r { + Ok(_) => {}, + Err(e) => { + capture.terminate().await?; + return Err(e.into()); + }, + }, + _ = wait_for_termination(request_rx) => { + capture.terminate().await?; + return Ok(()); + }, } }