From: Kevin Rosenberg Date: Thu, 7 Jan 2010 19:45:45 +0000 (-0700) Subject: compiles on lispworks 6 X-Git-Tag: v4.3.0~2 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=158319d9e98eabc92b285c2cbabec71b085aed46 compiles on lispworks 6 --- 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))