Jonas Hahnfeld schreef op vr 19-11-2021 om 14:32 [+0100]:
> You coud simply ...
>
>
> > - scm_gc_free (rx, sizeof(regex_t), "regex");
> > + free (rx);
>
> drop the scm_gc_free AFAIK.
No, I cannot as explained in the patch summary: If we use scm_gc_free
in a free function of a Smob, this relies on Java finalization because
the memory must not be reclaimed in the same cycle.
The suggestion was to remove scm_gc_free, and not introduce free.
I.e., don't free rx manually at all, let boehmgc decide:
regex_free (SCM obj)
{
regfree (SCM_RGX (obj));
- scm_gc_free (SCM_RGX (obj), sizeof(regex_t), "regex");
return 0;
}
Greetings,
Maxime