# HG changeset patch # User etisserant # Date 1211561252 -7200 # Node ID fc7fe0de914366eef263fa34137716f57c0613cd # Parent 8be272b35525c9f8d3653b57fe94aa51d8a1da80 Tried to fix Linux behaviour of wxPopen.py diff -r 8be272b35525 -r fc7fe0de9143 wxPopen.py --- a/wxPopen.py Fri May 23 16:01:49 2008 +0200 +++ b/wxPopen.py Fri May 23 18:47:32 2008 +0200 @@ -45,21 +45,21 @@ self.fd = fd def run(self): - outeof = False - self.retval = self.Proc.poll() - while not self.retval and not self.killed and not outeof: + self.retval = None + while self.retval is None and not self.killed : + self.retval = self.Proc.poll() outchunk = self.fd.readline() - if outchunk == '': outeof = True + if outchunk == '': + break if self.callback : wx.CallAfter(self.callback,outchunk) - self.retval=self.Proc.poll() if self.endcallback: try: err = self.Proc.wait() except: - pass + err = self.retval self.finished = True - wx.CallAfter(self.endcallback, self.Proc.pid, self.retval) + wx.CallAfter(self.endcallback, self.Proc.pid, err) class ProcessLogger: def __init__(self, logger, Command, finish_callback=None, no_stdout=False, no_stderr=False, no_gui=True): @@ -90,7 +90,6 @@ self.Proc = subprocess.Popen( self.Command, **popenargs ) - self.outt = outputThread( self.Proc, self.Proc.stdout,