method
popen_run
Ruby latest stable (v2_5_5)
-
0 notes -
Class: Open3
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180 (0)
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (0)
- 2_2_9 (0)
- 2_4_6 (0)
- 2_5_5 (0)
- 2_6_3 (0)
- What's this?
popen_run(cmd, opts, child_io, parent_io)
private
Hide source
# File lib/open3.rb, line 194 def popen_run(cmd, opts, child_io, parent_io) # :nodoc: if last = Hash.try_convert(cmd.last) opts = opts.merge(last) cmd.pop end pid = spawn(*cmd, opts) wait_thr = Process.detach(pid) child_io.each(&:close) result = [*parent_io, wait_thr] if defined? yield begin return yield(*result) ensure parent_io.each(&:close) wait_thr.join end end result end