<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 11, 2015 at 6:31 PM, René J.V. <span dir="ltr">&lt;<a href="mailto:rjvbertin@gmail.com" target="_blank">rjvbertin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I take that to mean that doing fork() doesn&#39;t oblige you to do an exec() afterwards, it&#39;s that you cannot do a fork() from a process that&#39;s not been started through exec.</blockquote></div><br>I will guess that this is related to the fact that such processes are actually started by launchd, and must play by launchd&#39;s rules (including not using fork()) so launchd can keep track of them. This would also imply that fork() is actually acceptable as long as the forked processes don&#39;t try to use the UI, but are merely background worker processes that communicate with the foreground process if they need UI interaction or etc.<br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div></div>
</div></div>