On Monday 06 April 2009 06:12:06 Mike Frysinger wrote: > On Saturday 28 February 2009 14:16:30 Jamie Lokier wrote: > > Mike Frysinger wrote: > > > (like daemonizing code) > > > > It is possible to daemonize on uClinux without exec'ing a new process, > > using clone() instead of vfork(). I have a version of the daemon() > > function which does that, which I posted to the Busybox bug tracker > > years ago; I should really submit it to uClibc. > > so we're working on converting the old mantis db to bugzilla, but it's not > complete (attachments are missing). i tried searching for this but wasnt > able to find it. could you give it a spin ? > http://bugstest.busybox.net/ > > otherwise i dont suppose you could dig up your old patch ? having daemon() > support in uClibc would be pretty nice to have under no-mmu ... i read > through the clone() man page for a while, but i couldnt seem to trick my > head into figuring out how to emulate proper behavior where the parent and > grand parent die but the child keeps running, and the child is able to > return to the calling function with the stack intact.
nm, what i was missing was that the function argument is evaluated by userspace, not the kernel. so it's pretty easy to use clone to (1) have the parent immediately call _exit and (2) have the child return untouched, and (3) do it in parallel. i'll add this to uClibc once i test with a real app other than my simple code that just calls daemon() after checking pgrp/sid. -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev