Hello, these patches make libports use Gnumachs protected payloads to optimize the receiver lookup. In fact, we can now dispatch most messages without acquiring a lock in libports.
The first patch is for Gnumachs type definitions. It changes `mach_port_t' (and reply ports) so that we can inject an `intranpayload' function via a preprocessor macro. This function maps payloads to port names. I originally had this in hurd_types.defs, but I came to the conclusion that the proper place is really the kernel definitions itself. This concludes a ~14 months effort that I thought would take two weeks. Silly me. Cheers, Justus