From 9c91204f8a143c3d6a1c13c84bc6ad31b538d6fa Mon Sep 17 00:00:00 2001 From: Trent Huber Date: Thu, 4 Sep 2025 19:41:23 -0400 Subject: [PATCH] Fix pipe error handling --- src/run.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/run.c b/src/run.c index 375bf1f..c896062 100644 --- a/src/run.c +++ b/src/run.c @@ -113,7 +113,11 @@ int run(struct context *c) { } exec(path, c); } - if (ispipestart) pipeid = cpid; else closepipe(c->prev); + if (ispipestart) pipeid = cpid; + else if (!closepipe(c->prev)) { + killpg(pipeid, SIGKILL); + return quit(c); + } jobid = pipeid; } else if (!c->r && isbuiltin(c->tokens)) cpid = 0; else if ((jobid = cpid = fork()) == -1) { -- 2.51.0