Sha256: 9b360a731fc3fdafa3251f9bac8e64fe71c791275976f8ad2e8622a4004ab5a5
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 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) @@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.6.31 | lib/cxxproject/utils/process.rb |
cxxproject-0.6.30 | lib/cxxproject/utils/process.rb |
cxxproject-0.6.29 | lib/cxxproject/utils/process.rb |