Saving state against reboot
BRIAN SPILSBURY
zhivago@iglou.com
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.
Brian