[Openmcl-devel] *initial-process* and *current-process*

Gary Byers gb at clozure.com
Wed Jun 22 22:42:05 PDT 2011

On Wed, 22 Jun 2011, Gabriel Dos Reis wrote:

> Hi,
> I have an application where when I use ccl:save-application,
> CCL  apparently saves the "old image" (not what I want), that is the image
> as it was before I LOAD some fasls instead of the "current image" that contains
> the loaded fasls.  I started seeing that behavior only with "recent"
> versions of CCL --

I have no idea how SAVE-APPLICATION would do this.  How would it know
what was part of the "old image" and what wasn't ?

There are some scenarios where SAVE-APPLICATION could start to write
an image file and encounter some sort of catastrophic error (out of
disk space, memory corruption, a bug) before finishing.  The last
thing written to an image file is signature information that the 
image loader uses to validate the file; an incomplete image file
can't be loaded.

You might want to check pathnames and file write dates carefully;
I don't think it's likely  that what you think is happening is happening,
and it seems much more likely that there's a more mundane explanation
for what you're seeing.

> that is anything but recent CCL from trunk works fine.

I think that you'll find that recent versions of the trunk also work
fine and that you're misunderstanding what you're seeing.

> That led me to wonder the difference between *INITIAL-PROCESS* and

As it's used in the names of these variables, the word "process"
essentially means "thread" or "lightweight process".  The initial
process (the lisp process/thread that's the value of
*INITIAL-PROCESS*) was created by the OS when the application started,
and (as David Rager said) each thread has its own dynamic binding of
*CURRENT-PROCESS* that refers to itself.

None of this has very much to do with heap images, so I may misunderstand
the question.

> -- Gaby
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list