execext package: support context command

This commit is contained in:
Andrey Nering
2017-04-12 20:32:56 -03:00
parent 947b3de0c4
commit 822f7f83ee
5 changed files with 16 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
package execext
import (
"context"
"os/exec"
)
@@ -17,6 +18,6 @@ func init() {
ShExists = err == nil
}
func newShCommand(c string) *exec.Cmd {
return exec.Command(ShPath, "-c", c)
func newShCommand(ctx context.Context, c string) *exec.Cmd {
return exec.CommandContext(ctx, ShPath, "-c", c)
}

View File

@@ -3,11 +3,12 @@
package execext
import (
"context"
"os/exec"
)
// NewCommand returns a new command that runs on "sh" is available or on "cmd"
// otherwise on Windows
func NewCommand(c string) *exec.Cmd {
return newShCommand(c)
func NewCommand(ctx context.Context, c string) *exec.Cmd {
return newShCommand(ctx, c)
}

View File

@@ -3,18 +3,19 @@
package execext
import (
"context"
"os/exec"
)
// NewCommand returns a new command that runs on "sh" is available or on "cmd"
// otherwise on Windows
func NewCommand(c string) *exec.Cmd {
func NewCommand(ctx context.Context, c string) *exec.Cmd {
if ShExists {
return newShCommand(c)
return newShCommand(ctx, c)
}
return newCmdCommand(c)
return newCmdCommand(ctx, c)
}
func newCmdCommand(c string) *exec.Cmd {
return exec.Command("cmd", "/C", c)
func newCmdCommand(ctx context.Context, c string) *exec.Cmd {
return exec.CommandContext(ctx, "cmd", "/C", c)
}