Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Patch to ignore files removed while mknmz processing index
>> On Sun, 16 Sep 2001 21:38:18 +0900
>> 「藤」== makoto@xxxxx (藤原 誠 / Makoto Fujiwara) said as follows:
藤> 問題になっている件は Namazu のどの版で出ているのでしょうか。2.0.5
藤> 以前 でしょうか、あるいは 2.0.6 以降 でしょうか。
Namazu-2.0.6 を使用しています。
私が問題にしている個所は、以下の部分なのですが、
sub filesize($) {
my ($arg) = @_;
my $fh;
if (ref $arg) {
[中略]
} else {
$fh = efopen($arg) || return 0; # in case file is removed after find_file
}
my $size = -s $fh;
return $size;
}
ファイルを開くために efopen() を使用していますから、ファイルが存在しな
い場合は、問答無用に die されてしまいます。
これを避けるために、efopen() の代わりに fopen() を使用するべきだ、とい
うのが [namazu-devel-ja:2030] に添付した前半のパッチの趣旨です。
後半の mknmz 本体に対するパッチは、process_file() 内で
util::filesize() が 0 を返した場合に、何もせずにそこで関数から抜けるこ
とを保証するための変更で、ひょっとしたら不要なのかも知れません。
Namazu-2.0.7 でも確認してみましたが、同じ問題を再現させることができま
した。
--
土屋 雅稔 ( TSUCHIYA Masatoshi )