Fix sudo prompt.

This commit is contained in:
Markus Reiter 2020-12-19 19:30:33 +01:00
parent a065dbcc9b
commit b1b4518998
2 changed files with 3 additions and 3 deletions

View File

@ -158,7 +158,7 @@ class SystemCommand
options = {
# Create a new process group so that we can send `SIGINT` from
# parent to child rather than the child receiving `SIGINT` directly.
pgroup: true,
pgroup: sudo? ? nil : true,
}
options[:chdir] = chdir if chdir
@ -174,7 +174,7 @@ class SystemCommand
@status = raw_wait_thr.value
rescue Interrupt
Process.kill("INT", pid) if pid
Process.kill("INT", pid) if pid && !sudo?
raise Interrupt
rescue SystemCallError => e
@status = $CHILD_STATUS

View File

@ -55,7 +55,7 @@ describe SystemCommand do
.to receive(:popen3)
.with(
an_instance_of(Hash), ["/usr/bin/sudo", "/usr/bin/sudo"], "-E", "--",
"/usr/bin/env", "A=1", "B=2", "C=3", "env", *env_args, pgroup: true
"/usr/bin/env", "A=1", "B=2", "C=3", "env", *env_args, pgroup: nil
)
.and_wrap_original do |original_popen3, *_, &block|
original_popen3.call("true", &block)