code: func (m *kubeGenericRuntimeManager) killContainersWithSyncResult(pod *v1.Pod, runningPod kubecontainer.Pod, gracePeriodOverride *int64) (syncResults []*kubecontainer.SyncResult) {
  	containerResults := make(chan *kubecontainer.SyncResult, len(runningPod.Containers))
  	wg := sync.WaitGroup{}
  
  	wg.Add(len(runningPod.Containers))
  	for _, container := range runningPod.Containers {
  		go func(container *kubecontainer.Container) {
  			defer utilruntime.HandleCrash()
  			defer wg.Done()
  
  			killContainerResult := kubecontainer.NewSyncResult(kubecontainer.KillContainer, container.Name)
  			if err := m.killContainer(pod, container.ID, container.Name, "", gracePeriodOverride); err != nil {
  				killContainerResult.Fail(kubecontainer.ErrKillContainer, err.Error())
  			}
  			containerResults <- killContainerResult
  		}(container)
  	}
  	wg.Wait()
  	close(containerResults)
  
  	for containerResult := range containerResults {
  		syncResults = append(syncResults, containerResult)
  	}
  	return
  }
docs: // killContainersWithSyncResult kills all pod's containers with sync results.