ash: make "jobs | cat" work like in bash (was giving empty output)

This commit is contained in:
Denis Vlasenko 2007-07-15 01:13:25 +00:00
parent 39125bec38
commit bdc406d15d

View File

@ -4374,8 +4374,10 @@ clear_traps(void)
}
}
}
/* lives far away from here, needed for forkchild */
/* 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)
{
@ -4419,11 +4421,18 @@ 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 */
freejob(jp);
#else
for (jp = curjob; jp; jp = jp->prev_job)
freejob(jp);
#endif
jobless = 0;
}
/* Called after fork(), in parent */
static void
forkparent(struct job *jp, union node *n, int mode, pid_t pid)
{