From 2627994be42a7d2f75f14b45860a1ec0a0fbad07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Wed, 11 Feb 2026 05:03:52 +0000 Subject: [PATCH] Pipe to view only when we are sure that other processes have completed without errors. --- patchview/patchview-wrapper | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/patchview/patchview-wrapper b/patchview/patchview-wrapper index 989d0fa..23c4a78 100755 --- a/patchview/patchview-wrapper +++ b/patchview/patchview-wrapper @@ -79,28 +79,23 @@ if args.debug: sys.stderr.flush() p1 = Popen(vcs_cmd, stdout=PIPE, env=enviro, cwd=workdir) -if pipetoview: - p2 = Popen(patchview_cmd, stdin=p1.stdout, stdout=PIPE, env=enviro, cwd=workdir) -else: - p2 = Popen(patchview_cmd, stdin=p1.stdout, env=enviro, cwd=workdir) - -p1.wait() -ret1 = p1.returncode -if ret1 != 0: - stdout1, _ = p1.communicate() - if stdout1: - sys.stdout.buffer.write(stdout1) - sys.exit(ret1) +p2 = Popen(patchview_cmd, stdin=p1.stdout, stdout=PIPE, env=enviro, cwd=workdir) -p2.wait() +stdout2, _ = p2.communicate() ret2 = p2.returncode if ret2 != 0: - stdout2, _ = p2.communicate() if stdout2: sys.stdout.buffer.write(stdout2) sys.exit(ret2) +p1.wait() +ret1 = p1.returncode +if ret1 != 0: + sys.exit(ret1) + if pipetoview: - p3 = Popen(dest_cmd, stdin=p2.stdout, env=enviro, cwd=workdir) - p3.wait() + p3 = Popen(dest_cmd, stdin=PIPE, env=enviro, cwd=workdir) + stdout3, _ = p3.communicate(stdout2) +else: + sys.stdout.buffer.write(stdout2)