[Bordeaux-threads-devel] (initial-bindings *default-special-bindings*)

Martin Simmons martin at lispworks.com
Fri Feb 27 11:05:28 UTC 2009


>>>>> On Fri, 27 Feb 2009 09:39:54 +0100 (CET), Leslie P Polzer said:
> 
> > I agree.  I think the set of default bindings should be very minimal, not
> > including any of the CL I/O variables.
> 
> Moreover this should be fixed ASAP since it affects library
> (e.g. Hunchentoot) user applications severely.

Sorry, I can't help there.


> > I think inheriting values is worse in general, because it leads to accidental
> > capture of values that should be specific to each thread.
> 
> I'm not sure we're on the same page here: I intend to have only
> the values inherited, not the bindings themselves.
> 
> Is that the meaning you picked up?

Yes, I talking about the values too.

I dislike inherited values becuase you don't always know when threads will be
created, e.g. a library might start a background maintenance thread when you
call it for the first time.  Inheriting values from the dynamic environment
where that happens is undesirable IMHO.

Moreover, inheriting the value of any mutable object (e.g. readtable, pprint
dispatch table) means sharing it between threads, which is little better than
sharing the global value.

-- 
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/




More information about the bordeaux-threads-devel mailing list