Sha256: 6afeab89165b11f495fa524e41fb5692559a96c8c8c0ba5b66787543cef64d8e
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 KB
Contents
module Cxxproject class ProcessHelper @@pid = nil def self.readOutput(sp, rd, wr) wr.close consoleOutput = "" begin while not rd.eof? tmp = rd.read(1000) if (tmp != nil) consoleOutput << tmp end end rescue Exception=>e # Seems to be a bug in ruby: sometimes there is a bad file descriptor on Windows instead of eof, which causes # an exception on read(). However, this happens not before everything is read, so there is no practical difference # how to "break" the loop. # This problem occurs on Windows command shell and Cygwin. end Process.wait(sp) rd.close # seems that pipe cannot handle non-ascii characters right on windows (even with correct encoding) consoleOutput.gsub!(/\xE2\x80\x98/,"`") # ÔÇÿ consoleOutput.gsub!(/\xE2\x80\x99/,"'") # ÔÇÖ consoleOutput end def self.spawnProcess(cmdLine) return system(cmdLine) if Cxxproject::Utils.old_ruby? @@pid = spawn(cmdLine) pid, status = Process.wait2(@@pid) @@pid = nil status.success? end def self.killProcess begin Process.kill("KILL",@@pid) rescue end @@pid = nil end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cxxproject-0.5.61 | lib/cxxproject/utils/process.rb |
cxxproject-0.5.60 | lib/cxxproject/utils/process.rb |
cxxproject-0.5.59 | lib/cxxproject/utils/process.rb |