aboutsummaryrefslogtreecommitdiffstats
path: root/lib/alaveteli_external_command.rb
diff options
context:
space:
mode:
authorIan Chard <ian@mysociety.org>2014-01-08 12:14:16 +0000
committerIan Chard <ian@mysociety.org>2014-01-08 12:14:16 +0000
commit0c1ce0ab10bb3a2d32a4b8ae08f57051b23be861 (patch)
treeff184734643b67572fa449c50f371aeaf4284bdf /lib/alaveteli_external_command.rb
parent4eb8432dedc8b521086cdf163ebe5d373396d39a (diff)
Trap and report abnormal exits by external processes
Diffstat (limited to 'lib/alaveteli_external_command.rb')
-rw-r--r--lib/alaveteli_external_command.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/alaveteli_external_command.rb b/lib/alaveteli_external_command.rb
index fbdee8a62..fa2512387 100644
--- a/lib/alaveteli_external_command.rb
+++ b/lib/alaveteli_external_command.rb
@@ -49,6 +49,10 @@ module AlaveteliExternalCommand
$stderr.puts("Error from #{program_name} #{args.join(' ')}:")
$stderr.print(xc.err)
return nil
+ elsif !xc.exited
+ # Crash or timeout
+ $stderr.puts("#{program_name} #{args.join(' ')} exited abnormally")
+ return nil
else
if opts.has_key? :append_to
opts[:append_to] << "\n\n"