(use srfi-18 posix) (set-signal-handler! signal/alrm (lambda (n) (print "ring ring") (set-alarm! 1))) (set-alarm! 1) (thread-start! (lambda () (let lp () (print "spinning") (thread-sleep! 0.1) (lp)))) (thread-join! (thread-start! (lambda () (let lp ((ln (read-line))) (unless (eof-object? ln) (print ln) (lp (read-line)))))))