[coyotos-dev] Corner cases for message delivery

Jonathan S. Shapiro shap at eros-os.com
Wed Feb 7 20:52:03 CST 2007


There are three corner cases for message delivery that need to be
defined in the spec. One is a required type check. The other two concern
the final phase where the FCRB payload is being delivered to the
process.

These need to go into the spec somewhere.


Q1. What happens if the recipient field of an FRCB does not contain a
process capability at the time of invocation?

A1. Message is completely undelivered. No notice is provided to sender
that this has occurred.


Q2. When we go to deliver the short part of the payload from an FCRB to
a destination process, what happens if the UPCB slot of the process does
not contain a page capability?

A2. Message delivery will be delayed and a Malformed exception condition
will be set in the destination process. This will cause the fault
handler to be invoked. This exception is probably not recoverable short
of a total reset of the process by the fault handler.

Q3. What happens if the recipient process lacks a valid address space at
the time of short portion delivery?

A3. Short payload is delivered to UPCB as usual. Process is transitioned
to activated state as usual. Exception occurs on attempted instruction
fetch at the actPC address, whereupon the process faults and invokes its
fault handler.


shap



More information about the coyotos-dev mailing list