AN HTTPD ゲストブック/コメント集(2002年2月7日11:56)


中田昭雄 nakata@st.rim.or.jp 2002/02/11 17:33

Alice さん、
ActivePerl の v5.6.1 Build 630 で現象を確認しました。
確かに PerlIS.dll の不具合のような気もしますが、もう少し調べてみます。


Alice nanase@syotake.to 2002/02/11 09:18

中田さま、メールにてCGIを送付させていただいたのですがいかがでしたでしょうか?


中田昭雄 nakata@st.rim.or.jp 2002/02/07 21:03

Alice さん、
「暴走」というのがどういう意味かにもよりますが、ちょっと考えにくいですね。
再現性はありますか?
再現性があるようなら、その「暴走」する CGIをメールで送ってください。


Alice nanase@syotake.to 2002/02/07 11:56

サンプル:http://moe.syotake.to/cgi/rank/
配布:http://moe.syotake.to/
こんなCGIを組んでいるのですが

Location処理の際に

close(HTML); 
if($in{'forked'} eq 'tohyo'){
# IISサーバ対応
if ($ENV{'PERLXS'} eq "PerlIS") {
print "HTTP/1.0 302 Temporary Redirection\r\n";
print "Content-type: text/html\n";
}
}

if($in{'forked'} eq 'tohyo'){
print "Location: $index\n\n";
exit;
}
以上のように処理するとPerlIS.dllの場合暴走します。
	if($in{'forked'} eq 'tohyo'){ 
# IISサーバ対応
if ($ENV{'PERLXS'} eq "PerlIS") {
print "HTTP/1.0 302 Temporary Redirection\r\n";
print "Content-type: text/html\n";
}
}
close(HTML);

if($in{'forked'} eq 'tohyo'){
print "Location: $index\n\n";
exit;
}
以上のような書き方close(HTML);する前にprint "HTTP/1.0 302 Temporary Redirection\r\n";
した場合には暴走しません。
Anhttpd1.38c + Perlis.dll 5,6,1,631
の組み合わせです。

何が原因かわかりませんでしょうか?