Method: Open4::ThreadEnsemble#run
- Defined in:
- lib/vendor/open4/lib/open4.rb
#run ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
# File 'lib/vendor/open4/lib/open4.rb', line 130 def run @running = true begin @argv.each do |a, b| @threads << Thread.new(*a) do |*a| begin b[*a] ensure killall rescue nil if $! @done.push Thread.current end end end rescue killall raise ensure all_done end @threads.map{|t| t.value} end |