On Tuesday 24 July 2007 10:54, Alex Landau wrote:
> Hi,
>
> The attached patch fixes a compilation error:
> undefined reference to `_BUG_bb_daemonize_is_unavailable_on_nommu
> and makes start-stop-daemon usable on no-MMU by using bb_daemonize only if
> BB_MMU and
> emulating it if !BB_MMU.
>
> This is a bit hackish, since after vfork(), the child does all the work and
> exec()s the
> daemon, rather than execing right away, as the vfork paradigma says. Still I
> think this
> is better than re-execing start-stop-daemon and only then execing the daemon
> itself since
> this approach requires removing the -b (or --background) arguments from the
> command line,
> which is not fun (what if there are several -b options? etc.),
For the record: no, you don't need that. You can just re-exec with entire
command line intact. -b option will be seen again, and re-exec will be
seemingly done again... but second re-exec will actually NOT be done
because of this:
void forkexit_or_rexec(char **argv)
{
pid_t pid;
/* Maybe we are already re-execed and come here again? */
if (re_execed) <===================
return; <===================
The magic is in re_execed variable. grep for it.
BTW does current svn work for you?
--
vda
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox