diff --git a/src/import/export-tar.c b/src/import/export-tar.c index 6dc2e01733..78f0a7ca75 100644 --- a/src/import/export-tar.c +++ b/src/import/export-tar.c @@ -56,10 +56,8 @@ TarExport *tar_export_unref(TarExport *e) { sd_event_source_unref(e->output_event_source); - if (e->tar_pid > 1) { - (void) kill_and_sigcont(e->tar_pid, SIGKILL); - (void) wait_for_terminate(e->tar_pid, NULL); - } + if (e->tar_pid > 1) + sigkill_wait(e->tar_pid); if (e->temp_path) { (void) btrfs_subvol_remove(e->temp_path, BTRFS_REMOVE_QUOTA); diff --git a/src/import/import-tar.c b/src/import/import-tar.c index c8916da11a..35db30de78 100644 --- a/src/import/import-tar.c +++ b/src/import/import-tar.c @@ -69,10 +69,8 @@ TarImport* tar_import_unref(TarImport *i) { sd_event_source_unref(i->input_event_source); - if (i->tar_pid > 1) { - (void) kill_and_sigcont(i->tar_pid, SIGKILL); - (void) wait_for_terminate(i->tar_pid, NULL); - } + if (i->tar_pid > 1) + sigkill_wait(i->tar_pid); rm_rf_subvolume_and_free(i->temp_path); diff --git a/src/import/importd.c b/src/import/importd.c index 86181628d9..3e2d8427cb 100644 --- a/src/import/importd.c +++ b/src/import/importd.c @@ -126,10 +126,8 @@ static Transfer *transfer_unref(Transfer *t) { free(t->format); free(t->object_path); - if (t->pid > 0) { - (void) kill_and_sigcont(t->pid, SIGKILL); - (void) wait_for_terminate(t->pid, NULL); - } + if (t->pid > 1) + sigkill_wait(t->pid); safe_close(t->log_fd); safe_close(t->stdin_fd); diff --git a/src/import/pull-tar.c b/src/import/pull-tar.c index bce49cf4e5..67e06a1445 100644 --- a/src/import/pull-tar.c +++ b/src/import/pull-tar.c @@ -71,10 +71,8 @@ TarPull* tar_pull_unref(TarPull *i) { if (!i) return NULL; - if (i->tar_pid > 1) { - (void) kill_and_sigcont(i->tar_pid, SIGKILL); - (void) wait_for_terminate(i->tar_pid, NULL); - } + if (i->tar_pid > 1) + sigkill_wait(i->tar_pid); pull_job_unref(i->tar_job); pull_job_unref(i->checksum_job);