Beginning Work [djo9][arf8] [djg24]
David Garfield
david@davgar.arlington.va.us
Wed, 19 May 1993 01:06:16 EDT
"> " is Andreas Arff
> > is Dan Odom
> > > Where we still have to get to an agreement is:
> > >
> > > o How looks a destination address?
> > > Should it look like this: (machine address, object id, method id)
> > > or only like this: (object id, method id)
> > > or like this: (machine address, process id)
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > That one. Each process should have a 'message-handler' object that
> > will receive messages and notify the rest of the process.
> >
> > Kind of like: if (MsgHandler.ismsg ()); // Check to see if msg. is waiting.
> > switch (MsgHandler.message)
> > // etc...
>
> Ooooh, nooo!!! I'm in favour for another way of doing it.
> SupplyMessageSystemCrashFunction (MySystemCrashFunction);
> When a system crash comes, the system crash "spy" calls the
> "MySystemCrashFunction". Then the system would take care of all message
> handling, and the programmer could program, and not think of eartly things
> as messages.
Agreed.
Well, two problems with this. The first is that you actually want a
function that you tell what function to call and when to call it.
That way there is one system function instead of one per message. The
second problem is that this should for the most part be fed to the
IPC/ROI service provider (which I think is the kernel) all at once in
a table (thus a second function), and that image loading should
automatically feed any preconfigured entry points to the IPC service
provider. This last technique should be used for 99+% of all
messages.
Well, third problem, but only with the example. If the system is
crashing, you should not be able to notify anyone, because if you are
stable enough to notify people, you are stable enough not to crash.
Notify of System Shutdown maybe, power failure maybe (some machines
have hardware support for power failure), but not crash.
>
> Arff
-- David
--
David Garfield/2250 Clarendon Blvd/Arlington, VA 22201 (703)522-9416
Email: david%davgar@uunet.uu.net or garfield@verdi.sra.com