Sha256: 9cb7e1dc0251e7583081a722c3359438d76b151e58485a78af0517153607be95

Contents?: true

Size: 768 Bytes

Versions: 25

Compression:

Stored size: 768 Bytes

Contents

# need to use popen3 on windows - popen4 always eventually calls fork
if Lolcommits::Platform.platform_windows?

  module Mercurial
    class Command
      private

      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
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
lolcommits-0.12.1 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.12.0 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.11.0 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.11.0.pre lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.10.0 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.10.0.pre1 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.8 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.7 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.7.pre1 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.6 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.5 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.5.pre1 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.4 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.4.pre1 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.3 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.3.pre3 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.3.pre2 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.3.pre1 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.2 lib/core_ext/mercurial-ruby/command.rb
lolcommits-0.9.2.pre1 lib/core_ext/mercurial-ruby/command.rb