racket/racket
Matthew Flatt 5a8a0aff02 db: fix finalization problems
A `this%` expression used in a finalization callback implicitly
referred to `this`, since it's a dynamic reference to the object's
class. As a result, the finalizer for `this` refers to `this`, so
`this` never becomes collectable. The problem is fixed by
lifting the `this%` out of the `lambda`.

Less significantly, the finalizer thread in "prepared.rkt" captured
various parameters on creation, including the current namespace. If a
prepared statement is bound to a module-level variable, then the
finalizer thread refers through the namespace to the prepared
statement, so the prepared statement can never be finalized. Setting
the current namespace to a fresh empty one while creating the thread
avoids that specific problem. (Other parameters could cause similar
problems, but solving the namespace one works well enough for now.)
2015-01-20 13:04:23 -07:00
..
collects db: fix finalization problems 2015-01-20 13:04:23 -07:00
src fix prefix-use flags on a closure that ignores its captured prefix 2015-01-20 12:58:51 -07:00
.gitignore configure installation of man pages 2013-07-22 13:21:09 -06:00