diff --git a/bin/yashchiki b/bin/yashchiki index 63234d4709ee5e446b0294cefb4d0068f18ec3c4..4626471c02aad987fd2e186a5966c2a9402c621a 100644 --- a/bin/yashchiki +++ b/bin/yashchiki @@ -193,14 +193,15 @@ def run(script: str, env: dict, script_args: list = []): out = subprocess.Popen( cmd, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + os.set_blocking(out.stdout.fileno(), False) while True: - line = out.stdout.readline() - if line: + data = out.stdout.read() + if data: if args.debug: - sys.stdout.buffer.write(line) + sys.stdout.buffer.write(data) sys.stdout.flush() - stdout += line - else: + stdout += data + if out.poll() is not None: break out.wait() stdout = str(stdout, encoding="utf-8")