Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • dtc's avatar
    a04bd1a5
    The alien object finalizer was being placed on the alien info, but · a04bd1a5
    dtc authored
    this info may be shared among many alien objects making cancellation
    of the finalisation upon alien object deallocation
    problematic. Probably for this reason this cancellation had been
    disabled, however this often resulted in objects being freed twice and
    possibly live objects being freed. To fix this, the finalizer is now
    placed on the alien object rather than the alien info, and this
    finalizer is cancelled before the deallocation of the alien object to
    prevent repeated freeing. Problem tracked down thanks to a bug report
    and some experimentation by Andrei V. Elkin.
    a04bd1a5
    History
    The alien object finalizer was being placed on the alien info, but
    dtc authored
    this info may be shared among many alien objects making cancellation
    of the finalisation upon alien object deallocation
    problematic. Probably for this reason this cancellation had been
    disabled, however this often resulted in objects being freed twice and
    possibly live objects being freed. To fix this, the finalizer is now
    placed on the alien object rather than the alien info, and this
    finalizer is cancelled before the deallocation of the alien object to
    prevent repeated freeing. Problem tracked down thanks to a bug report
    and some experimentation by Andrei V. Elkin.