[MUD-Dev] Persistance/stability

Brandon Gillespie brandon at roguetrader.com
Sat Aug 2 15:46:19 CEST 1997


On Sat, 2 Aug 1997, Chris Gray wrote:
> [Chris L:]
> :[Miro S:]
> :>MUSHes and MOOs save everything across the reboot. MOOs even save the
> :>active processes (something Cold doesn't do, and I don't know about
> :>MUSH).
> 
> :FWIW I save active processes at runtime (ie across crashes).  Well,
> :sorta -- there's some caching and delays on the writes.  Upon restart
> :the machine will resume exactly as of some state minutes before the
> :crash.
> 
> Saving the state of everything without saving information about how that
> state is being changed would kind of defeat the point of saving. I'm more
> of an event-based model, but I don't actually save the list of pending
> events.

This is essentially what cold is like.  It doesn't just halt execution
when you shutdown.  It lets any existing task run until it completes or
preempts, then it shuts down.  With this in mind, the only state saves
that need to be made are from the preempted task list.  Also keep in mind
that any scheduling or sleeping tasks are handled in-db, so that is
technically already saved as the scheduler object is already saved.

Now, we do need to store the 'preempted' task list.  It hasn't been done
before not primarily because we've had many other things to worry about :) 

Aside from this, the ColdCore db basically has two states 'running' and
'shutdown'.  Transition between the two states is handled every time you
startup and shutdown (the system notifies things as appropriate).  So
basically, its not really a big deal to ColdCore.  Having it store the
preempted task list will be nice, but thats it--its not a gaping hole in
the ColdC design..

-Brandon Gillespie




More information about the mud-dev-archive mailing list