Changeset 6068


Ignore:
Timestamp:
Mar 20, 2007, 3:49:58 AM (13 years ago)
Author:
gb
Message:

use %ptr-store-fixnum-conditional in %get-spin-lock.

in %lock-recursive-lock: release the spinlock before reenabling interrupts!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/objc-gf/ccl/level-0/l0-misc.lisp

    r5983 r6068  
    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.