From 158319d9e98eabc92b285c2cbabec71b085aed46 Mon Sep 17 00:00:00 2001 From: Kevin Rosenberg Date: Thu, 7 Jan 2010 12:45:45 -0700 Subject: [PATCH] compiles on lispworks 6 --- ChangeLog | 4 ++++ debian/changelog | 6 ++++++ sql/utils.lisp | 15 ++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0311cb2..ddb6896 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +7 Jan 2009 Kevin Rosenberg + * Version 4.2.1 + * sql/utils.lisp: Changes to support Lispworks 6 + 10 Dec 2009 Kevin Rosenberg * Version 4.2.0 * doc/ref-ooddl.lisp: Add needed CDATA escapes diff --git a/debian/changelog b/debian/changelog index 2d8e192..1247648 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-sql (4.2.1-1) unstable; urgency=low + + * New upstream + + -- Kevin M. Rosenberg Thu, 07 Jan 2010 11:03:33 -0700 + cl-sql (4.2.0-1) unstable; urgency=low * New upstream diff --git a/sql/utils.lisp b/sql/utils.lisp index e6176cb..51eef9e 100644 --- a/sql/utils.lisp +++ b/sql/utils.lisp @@ -57,11 +57,24 @@ (string identifier)))) (substitute #\_ #\- unescaped))) +#+lispworks +(defvar +lw-has-without-preemption+ + #+lispworks6 nil + #-lispworks6 t) +#+lispworks +(defvar +lw-global-lock+ + (unless +lw-has-without-preemption+ + (mp:make-lock :name "CLSQL" :important-p nil :safep t :recursivep nil))) + (defmacro without-interrupts (&body body) #+allegro `(mp:without-scheduling ,@body) #+clisp `(progn ,@body) #+cmu `(system:without-interrupts ,@body) - #+lispworks `(mp:without-preemption ,@body) + #+lispworks + (if +lw-has-without-preemption+ + `(mp:without-preemption ,@body) + `(mp:with-exclusive-lock (+lw-global-lock+) + ,@body)) #+openmcl `(ccl:without-interrupts ,@body) #+sbcl `(sb-sys::without-interrupts ,@body)) -- 2.34.1