Two hours ago, Neil Van Dyke wrote:
> If I want to have a procedure or syntax that evaluates a block of
> code with a timeout, and it needs to be perfectly reliable[*], then
> is the below "call-with-timeout" procedure the way to do it?
> [...]

Not a direct answer -- but did you consider `call-with-limits'?  IIUC,
you could do something like this:

  (define (call-with-timeout ... same ...)
    (with-handlers ([exn:fail:resource?
                     (if timeout-proc (λ(e) (timeout-proc)) void)])
      (call-with-limits timeout-seconds #f proc)))

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to