From bc35b6f44ab0def13601c4ebd836437c5dc0e360 Mon Sep 17 00:00:00 2001 From: Matthew White Date: Wed, 17 Nov 2021 22:27:51 +0000 Subject: [PATCH] clipmenud: Fix killing background jobs when there are multiple `jobs -p' should be read into an array, as it might contain more than one job. [cdown: squash, massage changelog, remove space between local/readarray] --- clipmenud | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clipmenud b/clipmenud index 3a20e0d..d56a6b0 100755 --- a/clipmenud +++ b/clipmenud @@ -88,12 +88,12 @@ kill_background_jobs() { # While we usually _are_, there are no guarantees that we're the process # group leader. As such, all we can do is look at the pending jobs. Bash # avoids a subshell here, so the job list is in the right shell. - local bg - bg=$(jobs -p) + local -a bg + readarray -t bg < <(jobs -p) # Don't log `kill' failures, since with KillMode=control-group, we're # racing with init. - [[ $bg ]] && kill -- "$bg" 2>/dev/null + (( ${#bg[@]} )) && kill -- "${bg[@]}" 2>/dev/null } if [[ $1 == --help ]] || [[ $1 == -h ]]; then