[coyotos-dev] Status and roadmap

Jonathan S. Shapiro shap at eros-os.com
Mon Jan 22 14:00:48 CST 2007


On Mon, 2007-01-22 at 19:08 +0000, Sam Mason wrote:
> On Fri, Jan 19, 2007 at 12:19:52PM -0500, Jonathan Adams wrote:
> > On Fri, 2007-01-19 at 16:27 +0000, Sam Mason wrote:
> > > What happens if a process has designated itself as its exception handler
> > > and faults in a non-activated state, then subsequently faults in the
> > > activated state while handling the non-activated fault.  Does the FCRB
> > > get overwritten by the activated fault, and the previous message get
> > > lost?  Potentially confusing the handler when it tries to resume itself
> > > after handling the exception it recieved while activated.
> > 
> > Remember that a process can have multiple FCRBs.  In this particular
> > case, the first fault would be delivered directly to the process'
> > activation handler, without using any kind of FCRB.  If the activation
> > handler faulted while processing the first fault, a message is sent to
> > the handler FCRB.
> 
> Does it, even notionally, go through a FCRB?  Or is the whole
> fault procedure assumed to be atomic and therefore unaffected by
> check-pointing?

The handler capability is intended to be an FCRB sender capability.
Logically, fault delivery proceeds through this FCRB. Optimizations are
possible.

So there are three cases:

1. Fault during message background transmission. Receive FCRB is reused
to deliver the fault information, so this proceeds through the receive
FCRB.

2. Fault during activated state. This proceeds through the handler FCRB.

3. Fault during execution. This proceeds through the process state, but
that can be thought of as a dedicated FCRB that is part of the process
state. Execution fault messages are delivered to activation handler
ahead of any other pending message.

> > If the handler FCRB is *blocked*, then the process will block waiting
> > for it to become unblocked.  If the handler FCRB is *unblocked*, then it
> > will be sent the fault message.
> 
> When you say "handler FCRB" you mean the FCRB designated for fault
> handling?  This got me very confused the first couple of times I went
> through the email.

Yes. Specifically, the FCRB designated by the FCRB sender capability
that resides in the fault handler slot.
-- 
Jonathan S. Shapiro, Ph.D.
Managing Director
The EROS Group, LLC
+1 443 927 1719 x5100



More information about the coyotos-dev mailing list