diff --git a/core/base/libs/socrate/socrate/system.py b/core/base/libs/socrate/socrate/system.py index 9e78fd80..d92caf0c 100644 --- a/core/base/libs/socrate/socrate/system.py +++ b/core/base/libs/socrate/socrate/system.py @@ -50,10 +50,11 @@ class LogFilter(object): self.stream.flush() self.buffer = rest - def close(self): + def flush(self): + # write out buffer on flush even if it's not a complete line if self.buffer and not self.pattern.search(self.buffer): self.stream.buffer.write(self.buffer) - self.stream.close() + self.stream.flush() def _is_compatible_with_hardened_malloc(): with open('/proc/cpuinfo', 'r') as f: @@ -168,4 +169,7 @@ def run_process_and_forward_output(cmd): stderr_thread.daemon = True stderr_thread.start() - return process.wait() + rc = process.wait() + sys.stdout.flush() + sys.stderr.flush() + return rc