Skip to content
  • Daniel Kochmański's avatar
    stacks: don't call si_set_finalizer · 9735057b
    Daniel Kochmański authored
    si_set_finalizer is CL-world function and returns 0 values. That means
    in particular, that env->nvalues is changed.
    
    In this situation, when new binding was introduced, we could lose our
    nvalues, what lead to invalid multiple-value-bind (next commit will
    contain a regression test).
    
    We use unprotected version. If interrupts cause problems with it, we
    may need to wrap it in disable_interrupts. Threading code uses
    ecl_set_finalizer_unprotected without such wrapping though, so I
    believe that should be safe.
    
    Fixes #233.
    9735057b