Hush cant replace lash for my situation
Denys Vlasenko
vda.linux at googlemail.com
Mon Jan 7 10:55:12 PST 2008
On Sunday 06 January 2008 22:03, Martinb_ARM_NOMMU_KISSDVD wrote:
> I did build the toolchain but i used a script, i will try to learn to build
> my own uclibc but if i look at the buildscript and all the patches the
> developers have used then i think i will never be able to do this (but i
> will try, and will bug you on a new thread if im stuck)
>
>
> I did remove the -DBB_NOMMU (dont remember why i ever put it ther in the
> first place)
> Did Comment out define debug_printf_exec and recompile
> run it and type "ls". For me, it shows this:
>
> ===============================================
> /hdd/shell # ls
> parse_stream_outer: run_list
> run_list entered
> : run_list_real with 1 members
> run_list_real start lvl 1
> : rword=0 if_code=0 next_if_code=0 skip_more=12
> : run_pipe_real with 1 members
> run_pipe_real start: single_fg=1
> : pipe member 'ls' '(null)'...
> run_pipe_real return -1
> : checkjobs returned 0
> : setting last_return_code=0
> : rword=0 if_code=0 next_if_code=0 skip_more=12
> run_list_real lvl 1 return 0
> run_list return 0
> ================================================
It seems it never goes into if (!child->pid) {...} part below:
Can you add debug_printf_exec() as shown wit '+' and test again?
if (child->argv)
debug_printf_exec(": pipe member '%s' '%s'...\n", child->argv[0], child->argv[1]);
else
debug_printf_exec(": pipe member with no argv\n");
/* pipes are inserted between pairs of commands */
if ((i + 1) < pi->num_progs) {
pipe(pipefds);
nextout = pipefds[1];
} else {
nextout = 1;
pipefds[0] = -1;
}
/* XXX test for failed fork()? */
#if BB_MMU
child->pid = fork();
+ debug_printf_exec(": vfork returned %d\n", child->pid);
#else
child->pid = vfork();
+ debug_printf_exec(": fork returned %d\n", child->pid);
#endif
if (!child->pid) { /* child */
--
vda
More information about the busybox
mailing list