'Thread runner for reading lines of from a subprocess into a buffer.
:param name: The logical name of the stream (used for logging only).
:param stream: The stream to read from. This will typically a pipe
connected to the output stream of a subprocess.
:param outbuf: The list to append the read lines to.'

def _reader(self, name, stream, outbuf):

    while True:
        s = stream.readline()
        if (not s):
            break
        s = s.decode('utf-8').rstrip()
        outbuf.append(s)
        logger.debug(('%s:    %s' % (name, s)))
    stream.close()
