summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--shell/ash.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 9d8b83c18..8b21e655c 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -4380,6 +4380,7 @@ clear_traps(void)
/* Lives far away from here, needed for forkchild */
static void closescript(void);
+
/* Called after fork(), in child */
static void
forkchild(struct job *jp, union node *n, int mode)
@@ -4424,15 +4425,8 @@ forkchild(struct job *jp, union node *n, int mode)
setsignal(SIGQUIT);
setsignal(SIGTERM);
}
-#if JOBS
- /* For "jobs | cat" to work like in bash, we must retain list of jobs
- * in child, but we do need to remove ourself */
- if (jp)
- freejob(jp);
-#else
for (jp = curjob; jp; jp = jp->prev_job)
freejob(jp);
-#endif
jobless = 0;
}