From: gotoken@... (GOTO Kentaro) Date: 1999-03-24T20:40:26+09:00 Subject: [ruby-list:13147] Re: ロックでアドバイスをいただきたいのですが ごとけんです In message "[ruby-list:13134] ロックでアドバイスをいただきたいのですが" on 99/03/24, Keisuke Minami writes: > lockh.flock(File::LOCK_EX) よく見てませんでしたが,flock で行うロックは advisory lock といって lock したからといって書き込み等を禁ずるわけではなく,ロックしたよと いう意志を伝えるだけのものです. flock でブロックしたいなら raise Errno::EWOULDBLOCK.new if !lockh.flock(File::LOCK_EX|File::LOCK_NB) のようにして,flock の結果を調べる必要があります.File::LOCK_NB とオア をとることで flock はブロックされそうな場合 false を返しますので,上の ように書くと例外 Errno::EWOULDBLOCK を発生します. # ところで ruby では open(2) の第2引数で指定する mandatory lock は # 提供されないんでしょうか?? -- gotoken