I don't think we need to support moving receive rights in the same fashion as Mach does. The uses we have in the Hurd are esoteric cases that can be addressed in different ways. I think it would also be acceptable to support the notion at a higher level than Mach does, so as to better fit the L4 IPC model without huge performance impact. Having every single RPC (even ones carrying no ports) go through a central "port server" seems like overkill to me, and I hope it can be accomplished a different way. Perhaps send rights can be handled in such a way that only when transferring them is a full lookup required, and cached references are direct L4 thread IDs. Then a "moved receive right" might cause using existing cached L4 thread IDs to get some kind of error from the old thread that forwards them to the new owner of the receive right and updates their caches. This is just the shape of the idea and an example of the kind of higher-level implementation involvement (i.e. stuff in the RPC stubs or a port-reference library layer) is acceptable for the Hurd. Our essential concerns are about who makes what guarantees to whom at the task/kernel level.
Unfortunately I have not had time to read all this discussion, or the past l4-hurd discussions, or read up on L4 IPC so as to speak more informedly. I hope I'll have time to get into this stuff in earnest at some point, but I don't know when that will be. _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd