site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Sorry for the repost, just occurred to me. Since you are launching a server process directly, have you considered the typical unix solution of using pipes to communicate with the child. See popen(3), which is a single API that that allows a parent to create a child and connect to it. Godfrey On 2009-11-19, at 8:54 AM, Godfrey van der Linden wrote:
I'm not 100% sure but I think that your child process inherits or can be made to inherit the parents mach ports. So the trick I envisage is
1> Parent create a right and make it inheritable (?) 2> Parent calls fork 3> Parent waits on a message 4> Calls exec with an argument of the inherited port id in hex I'd guess and rendezvous can not happen
This seems pretty reliable, if ports can be inherited across a fork() which is a big if.
Finally if it doesn't work I know for a fact that it will work with unix-domain sockets.
Godfrey
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
Godfrey van der Linden