site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com On Nov 17, 2009, at 9:27 AM, Uli Kusterer wrote:
In <servers/bootstrap.h> there is the following note about the bootstrap_register() call:
* This API is deprecated. Old scenarios and recommendations: * * 1) Code that used to call bootstrap_check_in() and then bootstrap_register() * can now always call bootstrap_check_in(). * * 2) If the code was registering a well known name, please switch to launchd. * * 3) If the code was registering a dynamically generated string and passing * the string to other applications, please rewrite the code to send a Mach * send-right directly.
In case of suggestion #3, the application that used to call bootstrap_register only has the pid of the target application to which to "send a Mach send-right directly".
In order to send a Mach send right however one needs a send right itself to a port to which the target application has receive rights. In order to get that send right, the target application itself also needs to send this application a Mach send right, however in order send that send right it also needs a send right to send it and the loop never ends.
Does anyone know what paragraph 3) means to achieve and how, possibly with a short example?
The recommended replacement is to have two launchd jobs, one which advertises a service with a well-known name in the bootstrap namespace. The other (the client) looks up that service and sends a request to it. Part of the response to that request is a send right to whatever port the client needs a send right to. Can you expand on what you're trying to do?
To be noted, the open source CFMessagePortCreateLocal() still uses bootstrap_register years later after the API has been marked as deprecated.
Yes, we're aware. ;) Feel free to file a Radar. -- Damien Sorresso BSD Engineering Apple Inc. _______________________________________________ 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)
-
Damien Sorresso