- 843 名前:833 mailto:sage [2005/12/09(金) 17:26:00 ID:???]
- >unlockとtmpファイルのrenameがロックなしで行われる。
そうですね。renameは一番最初にやるとして、その後にunlink→ closeでしょうか?closeの前にunlinkってできるのでしょうか? >readしかしない場合でも排他的にロックしてしまうのは嬉しくない。 ここでは省略しましたが、 unlockFile( $filename ) 機能 : 強制的に指定されたファイルのロックを解除する。 というルーチンがあります。自分は、デフォルトは「最後まで排 他的にロック」。オプションで「指定したファイルのロックを解除」 っていう感じで考えてます。この方が間違いが無いと思うので。 >tmpの書き込み中に問題がでて取りやめたいときの手段 そうですね。これは、abortLockみたいなルーチンを作って最後の ENDブロックの中でrenameしないようにすれば良いんじゃないで しょうか? >リトライ回数が尽きたときにいきなりexitするのは汎用性がない。 if( $count++ > 10 ) { die "flock busy" } こんな感じで良いですかね? まだまだ経験が浅いので、先輩諸氏からの助言は為になります。 他にも欠点や改良点があれば指摘して頂けるとありがたいです。
|

|