[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] Re: #447: Inconsistency when calling set-finalizer! m
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] Re: #447: Inconsistency when calling set-finalizer! multiple times on the same object |
Date: |
Sat, 11 Dec 2010 12:24:56 -0000 |
#447: Inconsistency when calling set-finalizer! multiple times on the same
object
----------------------+-----------------------------------------------------
Reporter: syn | Owner:
Type: defect | Status: closed
Priority: major | Milestone: 4.7.0
Component: unknown | Version: 4.6.x
Resolution: fixed | Keywords:
----------------------+-----------------------------------------------------
Changes (by felix):
* status: new => closed
* resolution: => fixed
Comment:
This should be fixed now (experimental). The code that walked the
finalizer list checks for a finalized object being not forwarded into the
new heap area on GC. Previously it marked the object, hiding the "non-
forwarded" status for later finalizers for the same object in the
finalizer list, which would then never be run. The list is now walked
twice, once for checking, and once for marking. GC frequency and the
location of objects in memory influence strongly how and when finalizers
are checked and executed.
I have tried to improve the documentation.
--
Ticket URL: <http://bugs.call-cc.org/ticket/447#comment:2>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.