guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GC + Java finalization


From: Jonas Hahnfeld
Subject: Re: GC + Java finalization
Date: Fri, 19 Nov 2021 14:40:16 +0100
User-agent: Evolution 3.42.1

Am Freitag, dem 19.11.2021 um 13:35 +0000 schrieb Maxime Devos:
> 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;
>  }

This is dangerous because we still pass the memory to regfree, so it
must not be freed before.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]