Browse code

Support parallel kill

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>

Zhang Wei authored on 2016/09/21 23:06:43
Showing 1 changed files
... ...
@@ -39,8 +39,11 @@ func NewKillCommand(dockerCli *command.DockerCli) *cobra.Command {
39 39
 func runKill(dockerCli *command.DockerCli, opts *killOptions) error {
40 40
 	var errs []string
41 41
 	ctx := context.Background()
42
+	errChan := parallelOperation(ctx, opts.containers, func(ctx context.Context, container string) error {
43
+		return dockerCli.Client().ContainerKill(ctx, container, opts.signal)
44
+	})
42 45
 	for _, name := range opts.containers {
43
-		if err := dockerCli.Client().ContainerKill(ctx, name, opts.signal); err != nil {
46
+		if err := <-errChan; err != nil {
44 47
 			errs = append(errs, err.Error())
45 48
 		} else {
46 49
 			fmt.Fprintf(dockerCli.Out(), "%s\n", name)