[Bordeaux-threads-devel] changes for mcl at 5.2
james anderson
james.anderson at setf.de
Sun Feb 14 15:45:55 UTC 2010
good afternoon;
please find enclosed below a diff relative to patch 162 to improve
support for mcl-5.2
+ define acquire-lock and release-lock
* add dynamic-extent declarations for mcl and ccl
? 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
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