Andreas, Humor aside, it is an important consideration for a system that is to be able to run for any length of time. So far, I appear to be having good results in that area (yup, my servers are still running), but I am working on something that could turn into a real resource hog if it does not clean up after itself. I *think* the cleanup is limited to other wrapper objects, and the structs are largely just a convenience for accessing memory allocated elsewhere - I think ~:0
Thanks! Bill -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Andreas Raab Sent: Saturday, April 03, 2010 12:33 AM To: The general-purpose Squeak developers list; Pharo Development Subject: Re: [Pharo-project] [FFI] ExternalStructure ownership (or not) of memory On 4/2/2010 8:37 PM, Schwab,Wilhelm K wrote: > Andreas, > > So ExternalStructure>>free is not invoked by default? Sady to say, I never > even considered that possibility. It's not. Memory is cheap :-) Cheers, - Andreas > -----Original Message----- > From: > pharo-project-bounces-bM+ny+RY8h+a+bCvCPl5/[email protected] > g > [mailto:pharo-project-bounces-bM+ny+RY8h+a+bCvCPl5/gczwtlbp...@public. > gmane.org] On Behalf Of Andreas Raab > Sent: Friday, April 02, 2010 8:24 PM > To: The general-purpose Squeak developers list > Cc: Pharo-project-bM+ny+RY8h+a+bCvCPl5/[email protected] > Subject: Re: [Pharo-project] [FFI] ExternalStructure ownership (or > not) of memory > > I would suggest that you only register a finalizer for objects where > you > *do* have responsibility to reclaim them. There are no implicit finalizers > registered for any subclasses of ExternalObject by default - the only thing > that happens is that all handles are cleared when the image is restarted. > > Cheers, > - Andreas > > On 4/2/2010 5:17 PM, Schwab,Wilhelm K wrote: >> Hello all, >> >> Suppose I have a pointer to a structure and I do or do not have the >> responsibility of reclaiming the memory when a corresponding >> ExternalStructure sub-instance is finalized. How do I distinguish the two >> cases? One idea I had is to explicitly set the handle to nil if I do not >> own the memory, but (please correct me if I'm wrong), I can't do that while >> I'm still using the instance because it will presumably use the handle in >> accessing the fields, right? >> >> Looking at implementors of #isExternalAddress, maybe the idea is to use a >> byte array to make a copy of memory and an address to refer to it. >> >> What should I be asking? :) >> >> Bill >> >> >> > > > _______________________________________________ > Pharo-project mailing list > Pharo-project-bM+ny+RY8h+a+bCvCPl5/[email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
