Custom Query (1030 matches)
Results (478 - 480 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #383 | fixed | (setf (char (make-string 1) -1) #\1) "crashes" the CCL process | ||
| Description |
(setf (char (make-string 1) -1) #\1) "crashes" the CCL process. It's the -1 that's causing the trouble. And I know that it's not valid code since the ANSI standard clearly states that the index must not be negative. But I expected to be thrown out into the debugger, not to have the CCL process just die. I run Mac OS X 10.5.5 and have installed Clozure CL 1.2-rc1-intel.dmg from May 9 2008. |
|||
| #882 | fixed | [patch] (restart-case (warn ... )) | ||
| Description |
(handler-bind ((warning (lambda (w)
(declare (ignore w))
(invoke-restart 'eleven))))
(restart-case (warn "foo")
(eleven () 11)))
=> value #<SIMPLE-CONDITION #x302000E8041D> is not of the expected type WARNING. [Condition of type TYPE-ERROR]
A --- ccl/lib/macros.lisp (revision 15001)
+++ ccl/lib/macros.lisp (working copy)
@@ -409,7 +409,7 @@
((signal error warn)
(destructuring-bind
(cond &rest args) expansion
- (setq condform `(condition-arg ,cond (list ,@args) ,(if (eq head 'warning)
+ (setq condform `(condition-arg ,cond (list ,@args) ,(if (eq head 'warn)
''simple-warning
(if (eq head 'error)
''simple-error
|
|||
| #1030 | fixed | Failure with conditional-store | ||
| Description |
(This is assuming ccl::conditional-store should work as a typical compare-and-swap, even though it's not exported.) The RUN function below causes an assertion failure within 2000 iterations on my Linux-x86 machine. An svref place has the same issue. I did not see a problem on Darwin. Removing the assertion (but keeping the conditional-store) results in a hang. Replacing that conditional-store (the second one) with setf also produces a hang. (defstruct stack
(head nil)
(lock nil))
(defun call-with-spin-lock (stack fn)
(loop :until (ccl::conditional-store
(stack-lock stack) nil t))
(unwind-protect
(funcall fn)
(assert (ccl::conditional-store
(stack-lock stack) t nil))))
(defmacro with-spin-lock ((stack) &body body)
`(call-with-spin-lock ,stack (lambda () ,@body)))
(defun push-stack (value stack)
(with-spin-lock (stack)
(push value (stack-head stack))))
(defun pop-stack (stack)
(with-spin-lock (stack)
(pop (stack-head stack))))
(defun test (thread-count)
(let ((stack (make-stack)))
(loop :repeat thread-count
:do (ccl:process-run-function "test" #'push-stack t stack))
(loop :repeat thread-count
:do (loop :until (pop-stack stack)))))
(defun run ()
(loop
(test 1)
(format t ".")))
|
|||
