From: DEQ <deq / oct.zaq.ne.jp>
Subject: [ruby-list:28238] Re: CGI でのロック (was: File.rename の例外)
Date: Sat, 24 Feb 2001 23:52:31 +0900

るびきちです。

> これだと http://www.din.or.jp/~ohzaki/perl.htm (大崎氏のPerlメモ)に
> 書かれている、[ rmdir if ロック状態が一定時間続いている場合 ] では
> > これが symlink や mkdir, rename のときと違って,ロックを解除するかどうかの
> > 判断と実際にロックを解除する操作を同時に行なっているわけではないということが
> > 問題となります.具体的に何がまずいのかというと,正常なロック状態も解除してし
> > まうことがあるということです.
俺も心配です。
ロック関数のデバッグってうまいやりかたないのかな。
起こる((*かもしれない*))事象を見つけるのって難しい。。

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

よりよいロック関数があったら Lock.lock を置き換えてしまえば、
メインプログラムは書き換えなくてよい。
やっぱりこういう仕様がステキ。

るびきち☆
http://www.ruby-lang.org/~rubikitch/