hmm, you never going to believe this but when I do replace all the forks
with a vfork (3 times) then it does run
So i guess Alex is correct

I did not yet made the changes line by line to find out which one of the 3
forks is the problem but I will as soon I'm back from work


/martinb


-----Oorspronkelijk bericht-----
Van: Alex Landau [mailto:[EMAIL PROTECTED]
Verzonden: dinsdag 8 januari 2008 7:33
Aan: Denys Vlasenko
CC: [email protected]; Martinb_ARM_NOMMU_KISSDVD
Onderwerp: Fw: Hush cant replace lash for my situation


Denys,
It prints vfork(), but actually executes fork() (a typo in your patch
below), so I'd say
busybox does not recognize that this is a NOMMU system.
Alex

----- Forwarded Message ----
> From: Martinb_ARM_NOMMU_KISSDVD <[EMAIL PROTECTED]>
> To: Denys Vlasenko <[EMAIL PROTECTED]>
> Cc: [email protected]
> Sent: Tuesday, January 8, 2008 12:34:41 AM
> Subject: RE: Hush cant replace lash for my situation
>
> did include the 2 lines and recompile
> output is:
>
> 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)'...
> : vfork returned -1
> 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
>
> You can give me more debug instructions if you want, i dont have
> the
>
 skills
> but i do have the time
>
> /martinb
>
>
> > ================================================
>
> 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
>
> _______________________________________________
> busybox mailing list
> [email protected]
> http://busybox.net/cgi-bin/mailman/listinfo/busybox
>




      ______________________________________________________________________
______________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search.
http://tools.search.yahoo.com/newsearch/category.php?category=shopping

_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to