This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: Kawa fails if used in multithreading
The primary problem appears to have been the thread-local variable
Compilation.current. This was not used in a safe manner. I've changed
it to use InheritableThreadLocal - and I also changed the places
where it was set. (Either change should be enough, but I think both
are reasonable.)
I also made various methods synchronized. The issue is that the
is a shared pool of ClassType objects for "existing classes", and
initializing those ClassTypes might have been unsafe.
These changes are checked into the SVN repository.
There are some more changes I'd like in this area (specifically
optimization of gnu.mapping.ThreadLocation) - hopefully I'll get
them done soon, but no need to wait for them.
--
--Per Bothner
per@bothner.com http://per.bothner.com/