This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: interface reductions



Dirk Herrmann <dirk@ida.ing.tu-bs.de> writes:

> On 30 May 2000, Marius Vollmer wrote:
> 
> > Dirk Herrmann <dirk@ida.ing.tu-bs.de> writes:
> > 
> > > For example:  Fluids can't currently be garbage collected, just because
> > > users might store the integer reference to it instead of a SCM value.  So,
> > > I can easily break guile by creating lots of fluids and not use them any
> > > longer:  They live forever even without references.  That's bad.
> > 
> > Yes, that's a good point.  I can't argue against that.  So feel free
> > to make any necessary changes.
> 
> The proposed change is shown as a patch below.  It basically deprecates
> SCM_FLUID_NUM, SCM_FAST_FLUID_REF and SCM_FAST_FLUID_SET_X, and provides
> as a replacement for these the macros SCM_FLUID_DATA and
> SCM_SET_FLUID_DATA.  If there are suggestions for better names, I'd be
> happy to hear them.  Otherwise I am going to apply that patch.

One of the sub-tasks for the POSIX threads effort is

*** Removing the dynamic roots

This means that we *will* have a set of permanently allocated fluids.


Another one is

*** Revise the fluid implementation

Trying to use the thread library's support for thread local data
(get/setspecific).


Before this is done, I can *imagine* that an operation such as
SCM_FAST_FLUID_REF could be needed, but I wouldn't know until after
the above changes.  To extract the key from a fluid object which can
be collected and then using that key in SCM_FAST_FLUID_REF doesn't
sound like a good idea, however.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]