Changeset 12946 for trunk/abcl/src/org


Ignore:
Timestamp:
10/03/10 21:33:34 (11 years ago)
Author:
vvoutilainen
Message:

Thread-safety fix for CLOS. Finding the problem and
the patch by David Kirkman, kudos for the hard work.

I merely added fixes for the other hashtables according to
David's patch, and fixed the ansi error parsing,
reported again by David. MASSIVE thanks for the patch!

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/EqHashTable.java

    r11488 r12946  
    5555
    5656    @Override
    57     public LispObject get(LispObject key)
     57    public synchronized LispObject get(LispObject key)
    5858    {
    5959        final int index;
     
    7575
    7676    @Override
    77     public void put(LispObject key, LispObject value)
     77    public synchronized void put(LispObject key, LispObject value)
    7878    {
    7979        int index;
  • trunk/abcl/src/org/armedbear/lisp/EqlHashTable.java

    r11488 r12946  
    5656
    5757  @Override
    58   public LispObject get(LispObject key)
     58  public synchronized LispObject get(LispObject key)
    5959  {
    6060    HashEntry e = buckets[key.sxhash() & mask];
     
    6969
    7070  @Override
    71   public void put(LispObject key, LispObject value)
     71  public synchronized void put(LispObject key, LispObject value)
    7272  {
    7373    int index = key.sxhash() & mask;
  • trunk/abcl/src/org/armedbear/lisp/EqualHashTable.java

    r12255 r12946  
    5252
    5353  @Override
    54   public LispObject get(LispObject key)
     54  public synchronized LispObject get(LispObject key)
    5555  {
    5656    HashEntry e = buckets[key.sxhash() & mask];
     
    6565
    6666  @Override
    67   public void put(LispObject key, LispObject value)
     67  public synchronized void put(LispObject key, LispObject value)
    6868  {
    6969    int index = key.sxhash() & mask;
  • trunk/abcl/src/org/armedbear/lisp/EqualpHashTable.java

    r12255 r12946  
    4949
    5050  @Override
    51   public LispObject get(LispObject key)
     51  public synchronized LispObject get(LispObject key)
    5252  {
    5353    final int index = key.psxhash() % buckets.length;
     
    6363
    6464  @Override
    65   public void put(LispObject key, LispObject value)
     65  public synchronized void put(LispObject key, LispObject value)
    6666  {
    6767    int index = key.psxhash() % buckets.length;
Note: See TracChangeset for help on using the changeset viewer.