--- portage_exec.py.orig 2005-10-29 19:08:32.000000000 +0900 +++ portage_exec.py 2005-10-29 19:11:35.000000000 +0900 @@ -85,14 +85,8 @@ mypid=[] if logfile: pr,pw=os.pipe() - mypid.extend(spawn(('tee','-i','-a',logfile),returnpid=True,fd_pipes={0:pr,1:1,2:2})) - retval=os.waitpid(mypid[-1],os.WNOHANG)[1] - if retval != 0: - # he's dead jim. - if (retval & 0xff)==0: - return (retval >> 8) # exit code - else: - return ((retval & 0xff) << 8) # signal + mypid.extend(spawn(('tee','-i','-a',logfile),returnpid=True,fd_pipes={0:pr,1:fd_pipes[1],2:fd_pipes[2]},fd_unused=[pw])) + os.close(pr) fd_pipes[1]=pw fd_pipes[2]=pw @@ -150,7 +144,6 @@ return # should never get reached if logfile: - os.close(pr) os.close(pw) if returnpid: