青山です。

Mon, Jul 05, 1999 at 10:37:14PM +0900 において
NAKAMURA, Hiroshi さん曰く:

> [ruby-list:15220]で書いたcat.rbとreq.rbなんです...
> Apache起動直後に「req.rb GET 5」とやると,返事がなく,
> TCP sessionのタイムアウトまでだんまりです.

[ruby-list:15220] を見ると、req.rb が GET の時にも POST でリクエストし
ているのが原因の1つのようにも見えます。それと、だんまりになる直接の原
因は eof? を使っているせいでしょう。eof? は次の1文字を読み込んでから
ungetc しているので、その1文字が返ってくるまで待ち続けてしまいます。

ソケットでは eof? は使わずに (sys)read で読んで begin & rescue が良い
でしょう。cat.rb を Content-Length を返すようにして、req.rb も
Content-Length を解釈してきっちりした長さを read するとベスト?

> (ただし[ruby-list:15243]の通り,POST 20000だと返事がなくなります).

これは私の所でも発生しました。STDIN から 4096 バイトより多い読み込みが
出来ないようですね。なんとなく最近似たような数字&問題を見たような。も
しかして、mod_ruby というより、Ruby 本体の問題とか。

Server: Apache/1.3.3 (Unix) Debian/GNU mod_ruby/0.1.2 Ruby/1.3.4(1999-06-25)


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>