[Openmcl-devel] Re: "Smalltalk Model" related questions
gb at clozure.com
Wed Jun 2 07:32:52 EDT 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