Fix bug where log_call would not read all lines

This commit is contained in:
Anders Ingemann 2013-09-13 01:32:08 +02:00
parent f3b89f08ff
commit c1e931df5e

View file

@ -31,13 +31,11 @@ def log_call(command, stdin=None):
ret = select.select(reads, [], []) ret = select.select(reads, [], [])
for fd in ret[0]: for fd in ret[0]:
if fd == process.stdout.fileno(): if fd == process.stdout.fileno():
line = process.stdout.readline() for line in iter(process.stdout.readline, ''):
if line != '':
log.debug(line.strip()) log.debug(line.strip())
stdout.append(line.strip()) stdout.append(line.strip())
if fd == process.stderr.fileno(): if fd == process.stderr.fileno():
line = process.stderr.readline() for line in iter(process.stderr.readline, ''):
if line != '':
log.error(line.strip()) log.error(line.strip())
stderr.append(line.strip()) stderr.append(line.strip())
if process.poll() is not None: if process.poll() is not None: