Interrupting a computation in capi
I have a loop which is doing computation, which on occasion may never terminate, so I want to allow the user to interrupt it. At present I have the following: (defparameter *stop-computation* nil) and a stop-button in the interface which starts the computation, which has as its selection-callback: (lambda () (setf *stop-computation* t)) The computation is started by a start-button in the same interface, and the function which starts has the form: (catch 'stop-computation (do-computation)) (defun do-computation () (setf *stop-computation* nil) (loop for i from 0 do (do-stuff) if *stop-computation* (throw 'stop-computation nil) do (more-stuff))) However if, while the computation is executing, I click on the stop-button, there is no effect. I suspect I am doing something dumb, but I can't figure out what. Can anyone help? Thanks Jim Bushnell ________________________________________________________________________ This email has been scanned for all viruses by the MessageLabs Email Security System. For more information on a proactive email security service working around the clock, around the globe, visit http://www.messagelabs.com ________________________________________________________________________