aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-10-07 18:02:52 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-10-07 18:02:52 +0000
commit41770226bb39760039df4e9b580570063bcc1c7c (patch)
treebce7a5ca851fef1e10139938d8d093807373eb1f
parentf545be083d3e9758b70edf16aa532528cd7ce108 (diff)
downloadbusybox-w32-41770226bb39760039df4e9b580570063bcc1c7c.tar.gz
busybox-w32-41770226bb39760039df4e9b580570063bcc1c7c.tar.bz2
busybox-w32-41770226bb39760039df4e9b580570063bcc1c7c.zip
ash: revert "cat | jobs" fix, it causes more problems than good
-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)
4380 4380
4381/* Lives far away from here, needed for forkchild */ 4381/* Lives far away from here, needed for forkchild */
4382static void closescript(void); 4382static void closescript(void);
4383
4383/* Called after fork(), in child */ 4384/* Called after fork(), in child */
4384static void 4385static void
4385forkchild(struct job *jp, union node *n, int mode) 4386forkchild(struct job *jp, union node *n, int mode)
@@ -4424,15 +4425,8 @@ forkchild(struct job *jp, union node *n, int mode)
4424 setsignal(SIGQUIT); 4425 setsignal(SIGQUIT);
4425 setsignal(SIGTERM); 4426 setsignal(SIGTERM);
4426 } 4427 }
4427#if JOBS
4428 /* For "jobs | cat" to work like in bash, we must retain list of jobs
4429 * in child, but we do need to remove ourself */
4430 if (jp)
4431 freejob(jp);
4432#else
4433 for (jp = curjob; jp; jp = jp->prev_job) 4428 for (jp = curjob; jp; jp = jp->prev_job)
4434 freejob(jp); 4429 freejob(jp);
4435#endif
4436 jobless = 0; 4430 jobless = 0;
4437} 4431}
4438 4432