[eros-cvs] cvs commit: eros/src/base/tests/func/serial_test
serial_test.c test.imgmap.i486
Jonathan S. Shapiro
shap@cs.jhu.edu
Tue, 23 Jan 2001 08:53:18 -0500
Ben Laurie wrote:
> Why isn't it an error to call the null capability?
In the current system, the NULL capability is the zero number
capability. Number capabilities have operations, therefore it is not an
error to call one.
When the void capability is introduced, it will still be okay to call
the void capability. The semantics of the void capability is as follows
(MarkM: please don't pick on me for names here).
A void capability names the singleton void object. Invocations of the
void capability therefore map to operations on the void object.
A void object is an object whose operation map is empty. More precisely,
a void object is an object all of whose map entries return
RC_UnknownRequest.
In order to prohibit invocations on the void capability itself, we would
be introducing a circumstance in which the invocation transport layer
generated an error code.
Jonathan