diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-18 21:19:18 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-18 21:19:18 +0000 |
commit | 7bbf2f308580f468802cd7d32c94fce1b9f1779e (patch) | |
tree | 0a680f59e70a78d60e776d7b763e618fb2fec624 /lib/shell/system-command.rb | |
parent | 34276148c4450faa77bb298cfbe005f7c263f802 (diff) |
* lib: Convert tabs to spaces for ruby files per
http://redmine.ruby-lang.org/projects/ruby/wiki/DeveloperHowto#coding-style
Patch by Steve Klabnik [Ruby 1.9 - Bug #4730]
Patch by Jason Dew [Ruby 1.9 - Feature #4718]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/shell/system-command.rb')
-rw-r--r-- | lib/shell/system-command.rb | 116 |
1 files changed, 58 insertions, 58 deletions
diff --git a/lib/shell/system-command.rb b/lib/shell/system-command.rb index ee3490efcd..e97fab2549 100644 --- a/lib/shell/system-command.rb +++ b/lib/shell/system-command.rb @@ -1,8 +1,8 @@ # # shell/system-command.rb - -# $Release Version: 0.7 $ -# $Revision$ -# by Keiju ISHITSUKA(keiju@ruby-lang.org) +# $Release Version: 0.7 $ +# $Revision$ +# by Keiju ISHITSUKA(keiju@ruby-lang.org) # # -- # @@ -15,7 +15,7 @@ class Shell class SystemCommand < Filter def initialize(sh, command, *opts) if t = opts.find{|opt| !opt.kind_of?(String) && opt.class} - Shell.Fail Error::TypeError, t.class, "String" + Shell.Fail Error::TypeError, t.class, "String" end super(sh) @command = command @@ -41,7 +41,7 @@ class Shell def input=(inp) super if active? - start_export + start_export end end @@ -49,12 +49,12 @@ class Shell notify([@command, *@opts].join(" ")) @pid, @pipe_in, @pipe_out = @shell.process_controller.sfork(self) { - Dir.chdir @shell.pwd - $0 = @command - exec(@command, *@opts) + Dir.chdir @shell.pwd + $0 = @command + exec(@command, *@opts) } if @input - start_export + start_export end start_import end @@ -65,18 +65,18 @@ class Shell def terminate begin - @pipe_in.close + @pipe_in.close rescue IOError end begin - @pipe_out.close + @pipe_out.close rescue IOError end end def kill(sig) if @pid - Process.kill(sig, @pid) + Process.kill(sig, @pid) end end @@ -85,24 +85,24 @@ class Shell rs = @shell.record_separator unless rs _eop = true Thread.start { - begin - while l = @pipe_in.gets - @input_queue.push l - end - _eop = false - rescue Errno::EPIPE - _eop = false - ensure - if !ProcessController::USING_AT_EXIT_WHEN_PROCESS_EXIT and _eop - notify("warn: Process finishing...", - "wait for Job[%id] to finish pipe importing.", - "You can use Shell#transact or Shell#check_point for more safe execution.") - redo - end - notify "job(%id}) close imp-pipe.", @shell.debug? - @input_queue.push :EOF - @pipe_in.close - end + begin + while l = @pipe_in.gets + @input_queue.push l + end + _eop = false + rescue Errno::EPIPE + _eop = false + ensure + if !ProcessController::USING_AT_EXIT_WHEN_PROCESS_EXIT and _eop + notify("warn: Process finishing...", + "wait for Job[%id] to finish pipe importing.", + "You can use Shell#transact or Shell#check_point for more safe execution.") + redo + end + notify "job(%id}) close imp-pipe.", @shell.debug? + @input_queue.push :EOF + @pipe_in.close + end } end @@ -110,49 +110,49 @@ class Shell notify "job(%id) start exp-pipe.", @shell.debug? _eop = true Thread.start{ - begin - @input.each do |l| - ProcessController::block_output_synchronize do - @pipe_out.print l - end - end - _eop = false - rescue Errno::EPIPE, Errno::EIO - _eop = false - ensure - if !ProcessController::USING_AT_EXIT_WHEN_PROCESS_EXIT and _eop - notify("shell: warn: Process finishing...", - "wait for Job(%id) to finish pipe exporting.", - "You can use Shell#transact or Shell#check_point for more safe execution.") - redo - end - notify "job(%id) close exp-pipe.", @shell.debug? - @pipe_out.close - end + begin + @input.each do |l| + ProcessController::block_output_synchronize do + @pipe_out.print l + end + end + _eop = false + rescue Errno::EPIPE, Errno::EIO + _eop = false + ensure + if !ProcessController::USING_AT_EXIT_WHEN_PROCESS_EXIT and _eop + notify("shell: warn: Process finishing...", + "wait for Job(%id) to finish pipe exporting.", + "You can use Shell#transact or Shell#check_point for more safe execution.") + redo + end + notify "job(%id) close exp-pipe.", @shell.debug? + @pipe_out.close + end } end alias super_each each def each(rs = nil) while (l = @input_queue.pop) != :EOF - yield l + yield l end end # ex) # if you wish to output: - # "shell: job(#{@command}:#{@pid}) close pipe-out." - # then - # mes: "job(%id) close pipe-out." + # "shell: job(#{@command}:#{@pid}) close pipe-out." + # then + # mes: "job(%id) close pipe-out." # yorn: Boolean(@shell.debug? or @shell.verbose?) def notify(*opts, &block) @shell.notify(*opts) do |mes| - yield mes if iterator? + yield mes if iterator? - mes.gsub!("%id", "#{@command}:##{@pid}") - mes.gsub!("%name", "#{@command}") - mes.gsub!("%pid", "#{@pid}") - mes + mes.gsub!("%id", "#{@command}:##{@pid}") + mes.gsub!("%name", "#{@command}") + mes.gsub!("%pid", "#{@pid}") + mes end end end |