This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Jon Trowbridge <trow@emccta.com> writes: > On Mon, Apr 12, 1999 at 05:27:25PM -0230, Greg Harvey wrote: > > Jon Trowbridge <trow@emccta.com> writes: > > > > > Is there anything that I can do to trigger an "aggressive" garbage > > > collection in guile, in which the whole heap would be scanned and I > > > could be sure afterwards that every lingering unreferenced object had > > > been deallocated? [ Note: the following is a general comment, not necessary relevant to your problem. ] In general, you should not assume that GC guarantees that all unreferenced objects are freed. GC's job is to automate memory management for you, no more and no less. If you want reliable deallocation, use other means (i.e. deallocate things explicitly in one way or another). That said, Guile's current GC _can_ be relied upon to scan and free everything. It's not something you should expect to remain true forever, though. [GH:] > > or that something > > you don't know about is holding a reference to it (the printer is > > currently very bad in this regard). Yup, I noticed that too. Try something like the following and see if the problem persists: guile> (begin (date 1 1 2000) 'foo) ; construct an object but don't ; show it to the printer. foo guile> (gc) hth, mike.