[Swan-dev] use vfork/exec

David McCullough ucdevel at gmail.com
Fri Oct 16 23:52:11 UTC 2015


Paul Wouters wrote the following:
> On Sat, 17 Oct 2015, David McCullough wrote:
> 
> >Just remember that with vfork and the code in question,  the parent is
> >blocked until after the exec, so the sleep does nothing but slow the whole
> >process down by 1 second :-)
> 
> Funny. Seems I introduced it in commit 1987ac98f where I claim:
> 
>     * sleep 1s in the addconn thread on startup
> 
>     It seems on my laptop, things start too fast and pluto isn't ready
>     yet to accept connections to load.
> 
> Although I just removed it now and it seems fine.
> 
> >Also,  IIRC "exit" is not vfork safe,  _exit() should be used instead.
> 
> We do use _exit() although we passed it 42 :)

Well you still need an exit code,  and 42 is a good one.

> >>BTW, if there's code lurking that is turning a process into a daemon
> >>(fork/fork/exec) is one technique; then that should be changed to just
> >>call daemon().
> 
> The code I talked about was written in python, see contrib/updown-example/example-terminate.py

Cheers,
Davidm

-- 
David McCullough,  ucdevel at gmail.com,   Ph: 0410 560 763


More information about the Swan-dev mailing list