At Wed, 15 Jun 2005 15:53:49 +0200, Bernhard Kauer kauer@os.inf.tu-dresden.de wrote:
Here a summary: A can not ask C to send one, because this would either mean C has to make a blocking call to B, or B has to make a blocking call to A _and_ trust A to forward the request to C. B really wants to make sure that it gets its own new mapping of the capability from C, and not from A.
How does it get the capability the first time?
I assume you mean how B gets the capability from A initially.
Usually A sends it to B via a request.
B could either be blocking on A, if there is mutual trust, for example during the startup of a child process. Or it could be a server in a normal receive loop.
If you are asking how you get any capability initially, then that is a much more complex protocol. I can elaborate on that, but it is probably not very relevant.
Thanks, Marcus