Gary,

At this point, I'd settle for evidence that it is at least random.  So far, it 
appears to do nothing until some type of "big" system event happens, almost to 
the point of acting like a pre-shutdown cleanup.  I _thought_ I saw more 
predictable activity in another situation where I use finalization, but that 
might have been more that I was squeezing bugs out of my finalization code and 
was just happy to see the end of the walkbacks :)  It could also be that the 
code in question is a little memory hungry and was (just a guess) kicking off 
more and more substantial GC activity and prodded finalization that way??

For laughs I tried switching the mutual exclusion semaphore to a mutex, and 
tried signaling the finalization semaphore myself.  Neither seemed to improve 
the situation.

In my current situation, finalization is really a coward's way out anyway.  I 
have gnuplot giving me png images via pipes, and now want to begin to do that 
more than once per external process, and also to allow it to work if the goal 
is indeed to write files, etc.  So far, I have been reading the image off the 
pipe and closing gnuplot more or less in one operation, which needs to change.  
With good coding, I should be able to retain ensured cleanup and still allow 
multiple interactions per OS process, and with fewer gnuplot instances created, 
some delay in finalizing them (if I do fail to ensure cleanup) should not be a 
big disaster.

That said, I still think there is something wrong with the current finalization 
implementation.  At best, it is nowhere near as predicatable as Dolphin's 
finlizer.

Bill


-----Original Message-----
From: pharo-project-boun...@lists.gforge.inria.fr 
[mailto:pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Gary Chambers
Sent: Wednesday, January 06, 2010 1:20 PM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] Finalization quirk

Finalisation seems a bit random in Squeak/Pharo. Sometimes needs a 
globalGarbageCollect to kick it. Part of the reason we try to avoid excessive 
use (Sockets still remain etc.).

Regards, Gary

----- Original Message -----
From: "Schwab,Wilhelm K" <bsch...@anest.ufl.edu>
To: <Pharo-project@lists.gforge.inria.fr>
Sent: Wednesday, January 06, 2010 6:12 PM
Subject: [Pharo-project] Finalization quirk


>I am trying to add finalization to something and appear to be at a point 
>that finalization does not happen until I open the process browser.  Any 
>ideas?
>
> Bill
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project 


_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to