ただただしです。

On Sat, 24 Feb 2001 23:52:31 +0900 DEQ <deq / oct.zaq.ne.jp> wrote:
>これだと http://www.din.or.jp/~ohzaki/perl.htm (大崎氏のPerlメモ)に
>書かれている、[ rmdir if ロック状態が一定時間続いている場合 ] では
>> これが symlink や mkdir, rename のときと違って,ロックを解除するかどうかの
>> 判断と実際にロックを解除する操作を同時に行なっているわけではないということが
>> 問題となります.具体的に何がまずいのかというと,正常なロック状態も解除してし
>> まうことがあるということです.
>というのが起こりえそうな気がします。
> 現象が起こる頻度はそれほど高くなさそうですが、
>起こりえるとしたらやはり嫌な気がします。

 私もこの大崎さんのメモを先日目にして、RuBBSのロックの問題は認識し
ていました。renameを使ったロックはたしかによくできているので、採用し
たいと思っていました(やってないけど^^;)。

 CGI単体で完結しなくてもいいなら、常駐している単一プロセスの特定ス
レッドにファイルの読み書きを任せるのがいちばんきれいなんですけどねぇ。

>> Lock::lock("lock") do
>>   ロック中の処理
>> end
>> 
>> と使ってます。
>
> ブロックやyieldはこういう風にも使うんですね。
>初心者には勉強になります。:-)

 File::openとかThread::newとか、Rubyではかなり頻繁に使われるテクで
すから、覚えておくと便利ですよぉ;-)

■■ Don't Think, Buuuuy. ■■
■  た   だ   た   だ   し  ■
■http://www.spc.gr.jp/sho/