l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Where should port rights go?


From: Farid Hajji
Subject: Re: Where should port rights go?
Date: Sun, 26 Nov 2000 18:41:01 +0100

> > > 9. port-rights entirely managed by concerned parties:
[...]
> Implementing this scheme could be done in a library that would need to
> be linked against every Hurd binary. This library would dedicate a thread
> to handle the port-rights protocol and associated port-rights map of every
> client, as well as registering with 'proc' (or whoever). A binary not
> linking this library could simply not participate in the port-rights
> passing scheme unless it does this stuff manually.
Of course, libports already provides interesting functions that could
be used to implement the distributed port-rights scheme described earlier:
  * ports_create_class() uses a clean_routine that is automatically
    called when a port is destroyed. This routine could deregister the
    port-right at the originator (<C1,destroy-right,r>).
  * ports_create_port(), ports_reallocate_port() ... which allocate
    port rights could be modified/extended to notify 'proc', manage
    the individual port-right maps and send the port-rights to clients.
  * ports metadata (void* instead of port_info*) could be used to link
    against the maps of port-rights in some way.
  * the port-right reference count and other libports features may
    be useful too.

I didn't dig very deep in libports (yet), but as far as I can see it
right now, we could as well think seriously about a libports-l4 backend
(or should it be better libports-mom) that would implement the distributed
port-rights scheme, without changing the front-end (a.k.a. public interface)
used extensively in the Hurd.

-Farid.

-- 
Farid Hajji -- Unix Systems and Network Admin | Phone: +49-2131-67-555
Broicherdorfstr. 83, D-41564 Kaarst, Germany  | address@hidden
- - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - -
Murphy's Law fails only when you try to demonstrate it, and thus succeeds.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]