[cells-devel] not-to-be fix, better diagnostics

Ken Tilton kennytilton at optonline.net
Wed Apr 23 04:04:20 UTC 2008


Thx to Peter for noticing not-to-be was not propagating to "owned" stuff 
--that seems to be working better now, but we'll keep a watch on that.

Along the way I added a helpful debugging tool. If one specifies

    :cells-debug t

...to cells-reset the integrity dataflow propagation records what it 
does and then in the event of a backtrace prints it all out before doing 
a describe on the error condition.

One can also specify a function as the :cells-debug value. Here is the 
one I used to debug a problem today:

(a1-reset :cells-debug
   (lambda (c is)
     (loop for (id . info) in is
         unless (find id '(:ephemeral-reset :awaken))
         do (format t "~&a1> ~(~a > ~a~) " id info)
         finally (describe c)
           (break "integ backtrace: see listener for deets"))))

The info is just whatever gets supplied as the "defer-info" when 
something gets queued up for integrity handling, ie, the second 
parameter to the with-integrity macro.

kt




More information about the cells-devel mailing list