bravoの日記: ロック機構があやしい 4
日記 by
bravo
板に使っているコードで、ロック機構とおもわしきところで、flock(2)は使ってないけど、symlink(2)を使ってる。へんなの。それより、sleep2秒待ちを10回ループという謎のコードが。
for(i=0;i<10;i++)
{
retcode=symlink(lock,link);
if(retcode==0) break;
sleep(2);
}
まあ、板に書き込み無いけど(わら
結構知られたロックファイル作りかと。 (スコア:1)
いわゆるロックファイルを作るためであれば、
(1) ファイルの存在のテスト
(2) ファイルの作成
の二つが、一つのシステムコールでできないんといかんのじゃなかったかと。
#モノリシックじゃないカーネルだとどうなるんでしょ?>識者様
だから、「flockかけて失敗したら作成」ではブッブーなのです。真っ当な方法の一つがsymlinkで、もう一つはO_CREAT|O_EXCLを指定したcreatだったかと。
#ところで、失敗し続けてループ抜けた処理は入ってるんでせうか?
Re:結構知られたロックファイル作りかと。 (スコア:2)
わー、はじめてのお客さんだ~(謎)
っていうか、ネタになってるやつは大昔(でも2年前)丸投げされたコードで、このコードはヘッダファイルに書かれていたんだな。すげえな。リンク(gcc -o obj1 obj2とか)という概念がないらしいね。
さて、このばあいは、新規にファイルは作ってはいけないです。っていうかディレクトリは書き込みできんので、既存のファイルを開いてロックします。
べつにカーネルがああだこうだは関係ないです(わら
インターバルの長いろっく待ちをしてますが、ループを抜けたら結局強制で処理が進みます。対処なんてありませんよ。捨てコードだろうし。やれ2
Re:結構知られたロックファイル作りかと。 (スコア:1)
>>「flockかけて失敗したら作成」ではブッブーなのです。
これは失敗霊にしろ順序逆。だけじゃなんなので、、、
>リンクという概念ないらしいね。
まだ、いるようですねぇ。 とか、 とか、世の中悪意に満ちているとしか思えないコメントをくれた人がいました。
#いったん引き継いだら後は知らんぞ。こんなもん。
Re:結構知られたロックファイル作りかと。 (スコア:2)
うわああああああ(謎)
この人、この業界向いてないね。向上心とかが一切見られないから、今後付いていけなくなるね。このままだと、まずオブジェクト嗜好^H^H指向あたりからがわからないままだろうし。ファイルスコープとか、関数とか、K&Rの課題を全部終わらせてからにしてほしいところ。
検索がやりにくい、てことは、自ら検索をする方法をあんまり知っていないと言うのと一緒だよなあ。ほえ。