Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Q] エラー処理はこれで正しいのでしょうか ?



<3A224650.D85ABCF7@xxxxxxxxx>の記事において
teranisi@xxxxxxxxxさんは書きました。

>>     $fh->close();
>>     undef $fh;
>>     unlink $tmpfile;
>> 
>> という処理は不要なのでしょうか?

  ファイルハンドルの close に関しては、HACKING-ja に

:  * ファイルは陽に閉じず、 destructor にまかせる
:    - $fh->close() しない (スコープで制限する)

  とあります。こういう指針でコードを書くことになってますから、これはこ
れで良いです。

# ActivePerl で意図した通りの動きをしなかったことがありましたが...

  テンポラリファイルに関しては、pl/util.pl の remove_tmpfiles で消され
るので一応大丈夫です。テンポラリが十分にないような場合を考えると、不要
になった時点で消えていた方がよいかな、とも一瞬思いましたが... そんな状
況だと他でディスクが溢れるような気もします。

>> 大量に処理していると、どんどんメモリを消費していくのは、
>> こういった部分が原因ではないのかと思いまして。

  基本的に全ての変数は local に定義していますし、GC がちゃんと働いてい
れば基本的には今のコーディングスタイルで大丈夫だと思います。
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx