Calls THUNK whenever the specified interrupt occurs. Be sure to set the appropriate interrupt handler to false before.

  (define (on-interrupt interrupt thunk)
    (let lp ((event (most-recent-sigevent)))
      (let ((next (next-sigevent event interrupt)))
        (thunk)
        (lp next))))