method
popen_run
v2_2_9 -
Show latest stable
- Class:
Open3
popen_run(cmd, opts, child_io, parent_io)private
No documentation available.
# File lib/open3.rb, line 192
def popen_run(cmd, opts, child_io, parent_io) # :nodoc:
pid = spawn(*cmd, opts)
wait_thr = Process.detach(pid)
child_io.each {|io| io.close }
result = [*parent_io, wait_thr]
if defined? yield
begin
return yield(*result)
ensure
parent_io.each{|io| io.close unless io.closed?}
wait_thr.join
end
end
result
end