David, is what is said about memory management really true? I thought
that saving the image triggered a garbage collect what forces to copy
the whole memory anyway.

Lukas

On 23 July 2010 14:00, David T. Lewis <[email protected]> wrote:
> On Fri, Jul 23, 2010 at 09:49:46AM +0200, Lukas Renggli wrote:
>> > But How I can do that without fork? I track changes in another process and
>> > when I do update I save image in this process.
>> > How I can initiate image saving from ui process?
>>
>> I don't understand what you are saying.
>>
>> The thing is that using #fork to save the image has no effect (other
>> than wrecking the image), because #snapshot:andQuit: is eventually
>> calling a primitive that locks the complete VM anyway.
>>
>> If you want to fork while saving the image you need to use an OS-level
>> fork, not a Smalltalk-level fork. You can do this with OSProcess for
>> example (check the Seaside mailing-list archive).
>
> "UnixProcess saveImageInBackgroundNicely"
>
> Explained in the method comment:
>
> UnixProcess class>>saveImageInBackground: savedImageName nice: niceFlag
>        "When Squeak is used as a server it is sometimes desirable to 
> periodically
>        save image snapshots. This method forks a headless Squeak to perform a
>        snapshot without impacting the server Squeak. Very little additional 
> memory
>        is required to do this because Unix copy-on-write memory management 
> allows
>        the two Squeak images to share object memory while the save is 
> performed.
>        The saved image is given a time stamped name, and the image name of
>        the main server Squeak remains unchanged. If niceFlag is true, the
>        background OS process runs at lowered scheduling priority."
>
> Dave
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to