class Mercurial::Command
Private Instance Methods
execution_proc()
click to toggle source
need to use popen3 on windows - popen4 always eventually calls fork
# File lib/core_ext/mercurial-ruby/command.rb, line 9 def execution_proc proc do debug(command) result = '' error = '' status = nil Open3.popen3(command) do |_stdin, stdout, stderr, wait_thread| Timeout.timeout(timeout) do while (tmp = stdout.read(102_400)) result += tmp end end while (tmp = stderr.read(1024)) error += tmp end status = wait_thread.value end raise_error_if_needed(status, error) result end end