channel-receive with timeout added by mario-goulart on Fri Mar 9 14:42:28 2012
(use srfi-18 channel) (define channel (make-channel)) (define writer (thread-start! (lambda () (let ((counter 0)) (let loop () (set! counter (+ 1 counter)) (channel-enqueue channel counter) (thread-sleep! (random 3)) (loop)))))) (thread-start! (lambda () (let loop () (print "Got " (channel-receive channel 0)) (thread-sleep! 1) (loop)))) (thread-join! writer)