diff --git a/LCS/PyCommon/subprocess.py b/LCS/PyCommon/subprocess.py index dfdb4aadf90e57a43c54a5e22e5f836b841cf2d4..3d6d5ddc2b79b13478294b6dfc582f7ee2dae08b 100644 --- a/LCS/PyCommon/subprocess.py +++ b/LCS/PyCommon/subprocess.py @@ -51,9 +51,10 @@ class PipeReader: def readlines(self, timeout=None): self.__fill_line_buffer(timeout) - lines = self.__line_buffer.split('\n') - if lines and not lines[-1].endswith('\n'): - self.__line_buffer = lines[-1] - lines = lines[:-2] + last_line_end_idx = self.__line_buffer.rfind('\n') + head = self.__line_buffer[:last_line_end_idx] + self.__line_buffer = self.__line_buffer[last_line_end_idx:] + + lines = [l for l in head.split('\n') if l] return lines