; some useful utilities (define (host-name-or-ip addr) (with-fatal-error-handler (lambda (condition more) (call-with-values (lambda () (socket-address->internet-address addr)) (lambda (ip port) (format-internet-host-address ip)))) (host-info:name (host-info addr)))) (define (on-interrupt interrupt thunk) (let lp ((event (most-recent-sigevent))) (let ((next (next-sigevent event interrupt))) (thunk) (lp next))))