[Bordeaux-threads-devel] changes for mcl at 5.2 (2)

james anderson james.anderson at setf.de
Sun Feb 14 16:03:04 UTC 2010


good afternoon;

please find enclosed below a diff relative to patch 162 to improve  
support for mcl-5.2.
apologies for missing the symbol problem in the 0.6 -> 0.7 change

+ define acquire-lock and release-lock
* add dynamic-extent declarations for mcl and ccl
* ccl::process is not external
? why repeat the deftype per implementation rather than use satisfies?

---
diff -rN old-bordeaux-threads/src/bordeaux-threads.lisp new-bordeaux- 
threads/src/bordeaux-threads.lisp
110a111,113
 >
 >
 > (deftype bt:thread () '(satisfies bt:threadp))
diff -rN old-bordeaux-threads/src/impl-clozure.lisp new-bordeaux- 
threads/src/impl-clozure.lisp
85a86
 >   (declare (dynamic-extent args))
diff -rN old-bordeaux-threads/src/impl-mcl.lisp new-bordeaux-threads/ 
src/impl-mcl.lisp
12c12
<   'ccl:process)
---
 >   'ccl::process)
32a33,43
 > (defun acquire-lock (lock &optional (wait-p t))
 >   (if wait-p
 >     (ccl:process-lock lock ccl:*current-process*)
 >     ;; this is broken, but it's better than a no-op
 >     (ccl:without-interrupts
 >      (when (null (ccl::lock.value lock))
 >        (ccl:process-lock lock ccl:*current-process*)))))
 >
 > (defun release-lock (lock)
 >   (ccl:process-unlock lock))
 >
44a56
 >   (declare (dynamic-extent args))





More information about the bordeaux-threads-devel mailing list