From: Wakou Aoyama Date: 2000-06-15T00:39:44+09:00 Subject: [ruby-dev:10045] Re: [ruby-talk:03267] Re: mod_ruby error? 青山です。 ようやく直接原因が特定できました。tempfile.rb を使用すると落ちます。そ ういえば、つい先月、CGI ではないスクリプトでもやはり tempfile.rb を使 用すると落ちるというのにはまった事があります。その時に調べておくべきで した。 という事で、ruby 本体の問題ですね。一応 cgi.rb 側での簡易対応パッチを つけますが、さて、どうしたものでしょう。落ちた時の手順が思い出せない... 現在、確実に落とせるのは、apache 1.3.3 で、cgi.rb を使って multipart_form のデータを受け取った場合です。 って、apache 1.3.9 では落ちないんですよね... これも難しい。まずは、 tempfile.rb, final.rb あたりを追うしかないでしょうか。 --- cgi.rb.org Thu Jun 15 00:01:47 2000 +++ cgi.rb Thu Jun 15 00:00:50 2000 @@ -759,11 +759,15 @@ raise EOFError, "no content body" end - require "tempfile" + #require "tempfile" until -1 == content_length head = nil - body = Tempfile.new("CGI") + #body = Tempfile.new("CGI") + tempfile = "/tmp/CGI_tempfile_#{$$}_#{Time::now.usec.to_s}" + tempfiles = (tempfiles or []) + [tempfile] + at_exit{ tempfiles.each{|f| File::unlink(f) } } + body = File::open(tempfile, "w+") body.binmode until head and (/#{boundary}(?:#{EOL}|--)/n === buf) -- 青山 和光 Wakou Aoyama