ash: revert "cat | jobs" fix, it causes more problems than good
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Sun, 7 Oct 2007 18:02:52 +0000 (18:02 +0000)
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Sun, 7 Oct 2007 18:02:52 +0000 (18:02 +0000)
git-svn-id: svn://busybox.net/trunk/busybox@20194 69ca8d6d-28ef-0310-b511-8ec308f3f277

shell/ash.c

index 9d8b83c..8b21e65 100644 (file)
@@ -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;
 }