Changeset 6182


Ignore:
Timestamp:
Apr 8, 2007, 3:01:14 AM (12 years ago)
Author:
gb
Message:

Use %PTR-STORE-FIXNUM-CONDITIONAL in %GET-SPIN-LOCK.
Locking code: spin lock must be released before interrupts are re-enabled.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-0/l0-misc.lisp

    r5983 r6182  
    474474    (loop
    475475      (dotimes (i n)
    476         (when (eql 0 (%ptr-store-conditional p 0 self))
     476        (when (eql 0 (%ptr-store-fixnum-conditional p 0 self))
    477477          (return-from %get-spin-lock t)))
    478478      (yield))))
     
    501501         (if flag
    502502           (setf (lock-acquisition.status flag) t))
    503          (return t)))
    504       (setf (%get-ptr spin) (%null-ptr))
     503         (return t))
     504       (setf (%get-ptr spin) (%null-ptr)))
    505505      (%process-wait-on-semaphore-ptr signal 1 0 "waiting for lock"))))
    506506
Note: See TracChangeset for help on using the changeset viewer.