Saving state against reboot

Tue, 13 May 1997 09:49:31 -0400 (EDT)

ppHHPP> What if LispOS checkpoints every five second (on average). What if I
ppHHPP> have a mail queue that stores outgoing messages. Then I hit "send". A
ppHHPP> message goes out. The machine crashes before that action is
ppHHPP> checkpointed. I reboot the computer and it starts the thread where it
ppHHPP> was last checkpointed and sends the message again. This says to me that
ppHHPP> applications must control checkpointing using (dumplisp) or (save-object
ppHHPP> ...)

Tells me that you need to be able to have reliable transactional stores
for things that need it.

Save-object, and dumplist are as hideous or more so than malloc/free.

I would personally create such a queue where repetition is not
acceptable as a synchronously allocated object. Then it is effectively
a simple transactional database. If you define the queue such that
all items in it are unique then it becomes an elegant, safe, solution.