lib/autobuild/subcommand.rb in autobuild-1.10.0.rc13 vs lib/autobuild/subcommand.rb in autobuild-1.10.0.rc14
- old
+ new
@@ -400,11 +400,19 @@
_, childstatus = Process.wait2(pid)
childstatus
end
if !status.exitstatus || status.exitstatus > 0
- raise Failed.new(status.exitstatus, nil),
- "'#{command.join(' ')}' returned status #{status.exitstatus}"
+ if status.termsig == 2 # SIGINT == 2
+ raise Interrupt, "subcommand #{command.join(' ')} interrupted"
+ end
+ if status.termsig
+ raise Failed.new(status.exitstatus, nil),
+ "'#{command.join(' ')}' terminated by signal #{status.termsig}"
+ else
+ raise Failed.new(status.exitstatus, nil),
+ "'#{command.join(' ')}' returned status #{status.exitstatus}"
+ end
end
duration = Time.now - start_time
Autobuild.add_stat(target, phase, duration)
FileUtils.mkdir_p(Autobuild.logdir)