From 0c1ce0ab10bb3a2d32a4b8ae08f57051b23be861 Mon Sep 17 00:00:00 2001 From: Ian Chard Date: Wed, 8 Jan 2014 12:14:16 +0000 Subject: Trap and report abnormal exits by external processes --- lib/alaveteli_external_command.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/alaveteli_external_command.rb') 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" -- cgit v1.2.3 From 3f33ccf5cf9dc1c9735cb4830198ccf1e6242e3b Mon Sep 17 00:00:00 2001 From: Ian Chard Date: Tue, 14 Jan 2014 10:12:05 +0000 Subject: Make sure to detect abnormal exits before looking at exit code --- lib/alaveteli_external_command.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/alaveteli_external_command.rb') diff --git a/lib/alaveteli_external_command.rb b/lib/alaveteli_external_command.rb index fa2512387..086a461c8 100644 --- a/lib/alaveteli_external_command.rb +++ b/lib/alaveteli_external_command.rb @@ -44,15 +44,15 @@ module AlaveteliExternalCommand end xc.run(opts[:stdin_string] || "", opts[:env] || {}) - if xc.status != 0 + if !xc.exited + # Crash or timeout + $stderr.puts("#{program_name} #{args.join(' ')}:exited abnormally") + return nil + elsif xc.status != 0 # Error $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" -- cgit v1.2.3