I expect the reading option may block the thread with "buffering: #f".
For example: (let ((chan (open-vector '(buffering: #f)))) (thread-start! (make-thread (lambda () (write "Value" chan) (pp "Write done")))) (thread-start! (make-thread (lambda () (thread-sleep! 1) (pp "Start reading") (pp (read chan))))) (thread-sleep! 5))
My expectation: Outputs: "Start reading" "Write done" or "Value", in any order.
Result for 4.6.3, osx 10.6.7: Outputs: "Write done" "Start reading" "Value"
Obviously, the "read" option doesn't block the spawned thread even "buffering" is set to #f. Did I misunderstand it?