[Openmcl-devel] Re: "Smalltalk Model" related questions

Gary Byers gb at clozure.com
Wed Jun 2 04:32:52 PDT 2004



On Wed, 2 Jun 2004, Sebastian Nozzi wrote:

>
> Dan Kanpp wrote:
>
> >    A Lisp image captures the entire state of a running Lisp process
> > (except, ordinarily, for open files and tcp connections).
>
> And that would include processes (threads) too, right?
> I mean, are they saved? What is saved of them?
> What happens with them when the image is loaded?
> (Do they get partially/completely restored?)

If the process is created with the :PERSISTENT argument true, it's
effectively reset when an image is saved and preset/enabled when that
image is restarted.  Processes that aren't persistent in this sense
are shut down (killed); the actual image is saved from the initial
thread in an environment where no other threads are running.

A PROCESS is basically a lisp data structure with some related OS
resources (stacks, a kernel thread, ...).  It's not too meaningful (or
tractable) to try to save those OS resource in the lisp image; it's
also not clear that it's -much- more useful to retain the lisp data
structure and start the process at some essentially arbitrary point in
the lisp startup code.




More information about the Openmcl-devel mailing list