[elephant-devel] Re: Updated version of last Postmodern patch bundle

Alex Mizrahi killerstorm at newmail.ru
Tue Mar 18 20:42:49 UTC 2008


 LPP> Here's the updated and rebased version of the patch, as promised.
 LPP> Hopefully everything is resolved now.

this appears to be latest code, right?

(test threaded-idx-access
  (dotimes (i 10)
    (make-instance 'zork :slot1 i :slot2 i))

  (dotimes (batch 20)
    (dotimes (i 5)
      (bt:make-thread (lambda ()
                        (dotimes (i 5)
                          (format t "thread ~A: batch ~A, run ~A~%" 
(bt:current-thread) batch i)
                          (dolist (obj (elephant::get-instances-by-class 
'zork))

how is this supposed to work?
in SBCL

 * global special values are visible across all threads;
 * bindings (e.g. using LET) are local to the thread;
 * threads do not inherit dynamic bindings from the parent thread
(see here 
http://www.sbcl.org/manual/Special-Variables.html#Special-Variables)

with-open-store used to run tests is implemented this way:

  `(let ((*store-controller* nil))
     (declare (special *store-controller*))
     (open-store ,spec)


so we get
 Null store controller, default store-controller is NIL

error because *store-controller* is not inherited. 






More information about the elephant-devel mailing list