At 4:46 PM -0800 4/5/98, Jonathan Adams wrote:
>1) A service process must CALL a key passed in from its caller. In the
>current EROS design, if the key is a key to the process itself, it will
>block forever. It therefore needs some way of detecting whether or not
>the key is a start key to itself.
>
>...
>
>A third would be "The kernel should detect a process CALLing itself."
>The question would then be "How does the kernel indicate to the process
>that this has happened," since anything it can return could also have been
>returned by the invoked key. This is not as much of a problem for this
>case, since we can verify that the key is a key to someone running the
>service code (which we trust), but could have implications for other
>processes.
KeyKOS recognized this situation and trapped to the domain keeper. Look at the trap codes in the manual.
Also there is an argument that the Discrim function can be accomplished with out and so it does not need to be closely held, which should be in the manual. The KeyKOS user environment provided Discrim to everyone.
Bill Frantz | If hate must be my prison | Periwinkle -- Consulting (408)356-8506 | lock, then love must be | 16345 Englewood Ave. frantz@netcom.com | the key. - Phil Ochs | Los Gatos, CA 95032, USA