running function with timeout
I'm new to the MP package of Lispworks, so the following problem might
have an easy answer:
In my application I call a function (to be precise, the solve function
if the Maxima computer algebra system) which might take a long time.
Thus, I want to make a call with a timeout, but I'm not sure, how to do
this.
Here is what I tried:
(defun run-with-timeout (time &rest args) ; run for at most time seconds
(let ((timer nil))
(setq timer
(mp:make-timer
'mp::process-kill
(mp:process-run-function "max-solve-process"
'(:priority 42)
'do-all-the-work-in-maxima args)
))
(mp:schedule-timer-relative timer time 1)
))
This gets the work done, but I have not been able to provoke a situation
where a long running calculation is actually killed. Do I need to
scatter calls to process-allow-scheduling all over the Code in Maxima?
Reinhard