diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 10f1429be3..5d3564476c 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -226,7 +226,8 @@ protected rd.close $stdout.reopen wr $stderr.reopen wr - exec cmd, *args + exec(cmd, *args) rescue nil + exit! 1 # never gets here unless exec threw or failed end wr.close out = '' diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index a96d0e2ae7..8ec87b5087 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -88,8 +88,8 @@ end def safe_system cmd, *args puts "#{cmd} #{args*' '}" if ARGV.verbose? fork do - trap("EXIT") {} # no bt on exit from this short-lived fork - exit! 1 unless exec(cmd, *args) + exec(cmd, *args) rescue nil + exit! 1 # never gets here unless exec failed end Process.wait raise ExecutionError.new(cmd, args, $?) unless $?.success?