From b70db887b19ba3b89e52a1178f5dc562253a4e1b Mon Sep 17 00:00:00 2001 From: Smittix Date: Wed, 18 Feb 2026 17:05:07 +0000 Subject: [PATCH] fix: Silence non-zero wait exit after killing dump1090 progress spinner The global ERR trap (trap 'on_error $LINENO' ERR) fires on any non-zero exit. After `kill $progress_pid`, `wait $progress_pid` returns 143 (128+SIGTERM), triggering the trap and aborting the build even when make itself succeeded. Add `|| true` to all five wait calls in install_dump1090_from_source_debian (inline and EXIT trap). Co-Authored-By: Claude Sonnet 4.6 --- setup.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/setup.sh b/setup.sh index d9e81ca..d4c3a93 100755 --- a/setup.sh +++ b/setup.sh @@ -1100,7 +1100,7 @@ install_dump1090_from_source_debian() { # Run in subshell to isolate EXIT trap ( tmp_dir="$(mktemp -d)" - trap 'kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null; rm -rf "$tmp_dir"' EXIT + trap 'kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null || true; rm -rf "$tmp_dir"' EXIT info "Cloning FlightAware dump1090..." git clone --depth 1 https://github.com/flightaware/dump1090.git "$tmp_dir/dump1090" >/dev/null 2>&1 \ @@ -1116,13 +1116,13 @@ install_dump1090_from_source_debian() { progress_pid=$! if make -j "$JOBS" BLADERF=no RTLSDR=yes >"$build_log" 2>&1; then - kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null; progress_pid= + kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null || true; progress_pid= $SUDO install -m 0755 dump1090 /usr/local/bin/dump1090 ok "dump1090 installed successfully (FlightAware)." exit 0 fi - kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null; progress_pid= + kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null || true; progress_pid= warn "FlightAware build failed. Falling back to wiedehopf/readsb..." warn "Build log (last 20 lines):" tail -20 "$build_log" | while IFS= read -r line; do warn " $line"; done @@ -1139,14 +1139,14 @@ install_dump1090_from_source_debian() { progress_pid=$! if ! make -j "$JOBS" RTLSDR=yes >"$build_log" 2>&1; then - kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null; progress_pid= + kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null || true; progress_pid= warn "Build log (last 20 lines):" tail -20 "$build_log" | while IFS= read -r line; do warn " $line"; done fail "Failed to build readsb from source (required)." exit 1 fi - kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null; progress_pid= + kill "$progress_pid" 2>/dev/null; wait "$progress_pid" 2>/dev/null || true; progress_pid= $SUDO install -m 0755 readsb /usr/local/bin/dump1090 ok "dump1090 installed successfully (via readsb)." )