[armedbear-devel] CLOS thread safety

Erik Huelsmann ehuels at gmail.com
Sun Oct 3 20:37:08 UTC 2010


Hi David!

On Sun, Oct 3, 2010 at 10:09 PM, David Kirkman <dkirkman at ucsd.edu> wrote:
> I think I worked out the problem here:  there are accesses to HashTables from
> unsynchronized get and put methods.  Adding a 'synchronized' to the get/put
> methods in EqHashTable fixes this particular threading problem.

Ville told me through IRC he'll be playing with your patch a bit
before committing, but let me express my excitement with the
submission! Thanks! I'd have thought to be working to find the source
of this issue for at least a few weeks. And it's already the case that
we're going to have a great 0.23 release with Maxima support, our own
generic class file writer, possibly support for the long form of
DEFINE-METHOD-COMBINATION and now *this*!

> When the example below fails, it looks likeEqHashTable.get is being called
> from Layout.getSlotIndex(LispObject slotName) (line 191), but I can't find
> a way to fix the problem by synchronizing on getSlotIndex or on the slotTable
> variable, perhaps there are direct get calls to the slotTable from someplace
> else?

Thanks again!


Bye,

Erik.




More information about the armedbear-devel mailing list