作者: dune
日時: 2002/8/13(08:09)
極悪です。

やっぱりどのデータベースが使われていて、それがどう実装されて
いるか分かってからでないとロックの処理は省略できないわけです
ね。掲示板の cgi などはどのプロバイダで動かすかわからないの
で、データベースを使う場合もロックは必須だと思いました。

KAWAJI Shinya さんの [TSperl:121] Re: cgi でファイルをロックしたい から
>以下のものが定評だと思いますが、 「symlink を使ったタイムアウト付き」
>って、どんな方法でしたっけ?(ほとんど同じかな?)
>http://www.din.or.jp/~ohzaki/perl.htm#File_Lock

これを実際に使っている cgi を見たことがなかったので何か短所
があるんだろうなと思ってましたが、あらためて見ると良い気がし
てきました。2ch でも悪くは書いてないみたい。

http://pc.2ch.net/test/read.cgi/php/1024795138/188-200

symlink を使ったタイムアウト付きというのは
http://www.din.or.jp/~ohzaki/perl.htm#File_Lock で「正常なロ
ック状態も解除してしまうことがある」(二つのプロセスがひとつ
の異常なロック状態を解除しようとすると、その間に入った第三の
プロセスのロックが誤って解除されてしまう可能性がある)と指摘
されているのとまさに同じ問題を持っています。当時は確か

http://homepage1.nifty.com/glass/tom_neko/web/web_04.html

を参考にあまり勉強せずに書いたものですが、僕の場合、一件の
データを一つのファイルに tie しているので、アクセスが集中して
も違うデータにアクセスしていればロックが競合することはないの
と、アクセス数自体少ないので今のままでも確率的に問題ないだろ
うと思ってます。
-- 
FZH01112@..., http://homepage1.nifty.com/dune/