summaryrefslogtreecommitdiff
path: root/lib/mixlib/shellout/unix.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mixlib/shellout/unix.rb')
-rw-r--r--lib/mixlib/shellout/unix.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/mixlib/shellout/unix.rb b/lib/mixlib/shellout/unix.rb
index be2e66a..bd9169f 100644
--- a/lib/mixlib/shellout/unix.rb
+++ b/lib/mixlib/shellout/unix.rb
@@ -305,7 +305,10 @@ module Mixlib
# support the "ONESHOT" optimization (where sh -c does exec without
# forking). To support cleaning up all the children, we need to
# ensure they're in a unique process group.
- Process.setsid
+ # We cannot use setsid here since getpgid fails on AIX with EPERM
+ # when parent and child have different sessions and the parent tries to get the process group,
+ # hence we just create a new process group, and have the same session.
+ Process.setpgrp
configure_subprocess_file_descriptors