Files
buildkit/source/git/gitsource_windows.go
Tonis Tiigi 641fdea51b git: fix cancellation on blocking remotes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-10 17:55:18 -07:00

24 lines
333 B
Go

// +build windows
package git
import (
"context"
"os/exec"
)
func runProcessGroup(ctx context.Context, cmd *exec.Cmd) error {
if err := cmd.Start(); err != nil {
return err
}
waitDone := make(chan struct{})
go func() {
select {
case <-ctx.Done():
cmd.Process.Kill()
case <-waitDone:
}
}()
return cmd.Wait()
}