diff options
-rwxr-xr-x | src/Daemon/abrt-debuginfo-install | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Daemon/abrt-debuginfo-install b/src/Daemon/abrt-debuginfo-install index 12b9153a..9b9d63f1 100755 --- a/src/Daemon/abrt-debuginfo-install +++ b/src/Daemon/abrt-debuginfo-install @@ -249,8 +249,12 @@ download_packages() { cmd="yumdownloader $yum_repo_opts --quiet $pkg" $debug && echo "Running: $cmd" >&2 # eval is needed to strip away ''s in $yum_repo_opts - eval $cmd >>yumdownloader.OUT 2>&1 + eval $cmd >>yumdownloader.OUT 2>&1 & + # using EXIT handler and this, make sure we kill yumdownloader if we exit: + CHILD_PID=$! + wait err=$? + CHILD_PID="" echo "exitcode:$err" >>yumdownloader.OUT echo >>yumdownloader.OUT test $err = 0 || echo "Download of $pkg failed!" @@ -319,6 +323,11 @@ cd "$tempdir" || exit 2 abort_if_low_on_disk_space 1024 +# A hook to stop yumdownloader, in case we are terminated by kill -TERM etc. +CHILD_PID="" +trap 'test x"$CHILD_PID" != x"" && kill -- "$CHILD_PID"' EXIT + + $debug && echo "Downloading rpms to $tempdir" |