Skip to content

Commit

Permalink
hfexec: Pdeathsig is only supported in linux
Browse files Browse the repository at this point in the history
  • Loading branch information
simon0191 committed Sep 1, 2022
1 parent b68d708 commit 32b2eb7
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
11 changes: 11 additions & 0 deletions tfexec/cmd_sys_proc_attr_default.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
//go:build !linux
// +build !linux

package tfexec

import "syscall"

var defaultSysProcAttr = &syscall.SysProcAttr{
// set process group ID
Setpgid: true,
}
13 changes: 13 additions & 0 deletions tfexec/cmd_sys_proc_attr_linux.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//go:build linux
// +build linux

package tfexec

import "syscall"

var defaultSysProcAttr = &syscall.SysProcAttr{
// kill children if parent is dead
Pdeathsig: syscall.SIGKILL,
// set process group ID
Setpgid: true,
}
8 changes: 1 addition & 7 deletions tfexec/cmd_unix.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,12 @@ import (
"os/exec"
"strings"
"sync"
"syscall"
)

func (tf *Terraform) runTerraformCmd(ctx context.Context, cmd *exec.Cmd) error {
var errBuf strings.Builder

cmd.SysProcAttr = &syscall.SysProcAttr{
// kill children if parent is dead
Pdeathsig: syscall.SIGKILL,
// set process group ID
Setpgid: true,
}
cmd.SysProcAttr = defaultSysProcAttr

// check for early cancellation
select {
Expand Down

0 comments on commit 32b2eb7

Please sign in to comment.