2009/5/11 Dragan Milić <mi...@mac.com>:
> On uto 12. 05. 2009., at 01:55, Michael Ash wrote:
>
>> 2009/5/11 Gwynne Raskind <gwy...@darkrainfall.org>:
>>>
>>> This is workable, but make sure you use a fork()/exec() pair to
>>> re-execute
>>> yourself in that case, and use argc/argv in your main() to determine
>>> which
>>> mode to run in. Don't just use fork() by itself - there are severe limits
>>> to
>>> what you can do in an only-fork()ed process. What those limits are isn't
>>> entirely clear to me; perhaps someone else could elaborate on that?
>>
>> The main problem is that fork() kills all other threads in the child
>> process, leaving you with only the thread that called fork() active.
>
> And that effectively invalidates fork()/exec() approach for me, since I
> cannot afford all other threads being killed.

I think you've misunderstood. There is no problem with the fork/exec
approach here. The problem is with the approach of forking and *not*
calling exec, but running code directly in the child process after the
fork. This technique is rife with difficulty which is why virtually
nobody ever uses it. However, if you fork and then immediately exec,
you're fine, and apps do this all the time.

Mike
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to