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))
On Sun, 2010-02-14 at 16:45 +0100, james anderson wrote:
good afternoon;
please find enclosed below a diff relative to patch 162 to improve support for mcl-5.2
Please send a unified diff(obtained with darcs diff -u)
- define acquire-lock and release-lock
- add dynamic-extent declarations for mcl and ccl
? why repeat the deftype per implementation rather than use satisfies?
Because it should lead to slightly smaller code when used in a TYPECASE.
bordeaux-threads-devel@common-lisp.net