diff options
author | baude <bbaude@redhat.com> | 2018-11-07 13:20:43 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2018-11-08 15:18:11 -0600 |
commit | 2dd9cae37cb076418393ba61c0fb7b8cf97148f3 (patch) | |
tree | 346e95940f263a5ea770be6f11ebe4130e8e626b /cmd/podman/shared | |
parent | fa8cc1a94281aac1c52952a002f9c3dd31d91197 (diff) | |
download | podman-2dd9cae37cb076418393ba61c0fb7b8cf97148f3.tar.gz podman-2dd9cae37cb076418393ba61c0fb7b8cf97148f3.tar.bz2 podman-2dd9cae37cb076418393ba61c0fb7b8cf97148f3.zip |
rm -f now removes a paused container
We now can remove a paused container by sending it a kill signal while it
is paused. We then unpause the container and it is immediately killed.
Also, reworked how the parallelWorker results are handled to provide a
more consistent approach to how each subcommand implements it. It also
fixes a bug where if one container errors, the error message is duplicated
when printed out.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podman/shared')
-rw-r--r-- | cmd/podman/shared/parallel.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/cmd/podman/shared/parallel.go b/cmd/podman/shared/parallel.go index 633781a45..e6ce50f95 100644 --- a/cmd/podman/shared/parallel.go +++ b/cmd/podman/shared/parallel.go @@ -30,9 +30,10 @@ func ParallelWorker(wg *sync.WaitGroup, jobs <-chan ParallelWorkerInput, results // ParallelExecuteWorkerPool takes container jobs and performs them in parallel. The worker // int determines how many workers/threads should be premade. -func ParallelExecuteWorkerPool(workers int, functions []ParallelWorkerInput) map[string]error { +func ParallelExecuteWorkerPool(workers int, functions []ParallelWorkerInput) (map[string]error, int) { var ( - wg sync.WaitGroup + wg sync.WaitGroup + errorCount int ) resultChan := make(chan containerError, len(functions)) @@ -62,9 +63,12 @@ func ParallelExecuteWorkerPool(workers int, functions []ParallelWorkerInput) map close(resultChan) for ctrError := range resultChan { results[ctrError.ContainerID] = ctrError.Err + if ctrError.Err != nil { + errorCount += 1 + } } - return results + return results, errorCount } // Parallelize provides the maximum number of parallel workers (int) as calculated by a basic |