/dev/tty*をopen(2)で開いてread(2)して、stdoutにwrite(2)してるだけのプログラムなんだが、write(2)が無限にバッファリングされる...。stdoutがつながってる先はパイプで、rubyのOpen3.popen3で作ってる。O_DIRECTとかその辺だろうけど、問題はO_DIRECTを建てたいopen(2)を呼んでるのがrubyだってことなんだな。
なお、fputc(stdout, &buf, 1); ffliush(stdout);なら確かにバッファされないが。もにょる。