2005-05-17(Tue) [長年日記]

_1 [読書] トマス・H. クック "夏草の記憶"

夏草の記憶娯楽小説派は読んではいけない。

_2 [bsfilter] File.flock(File::LOCK_UN)

原因は別なのか?

単なるスクリプトのバグなのか?

本日のツッコミ(全4件) [ツッコミを入れる]
_ (う) (2005-05-18(Wed) 10:24)

Win9XではLOCK_SHでロックできません(バグじゃなくてOSの制限による仕様)。少なくともmswin32はそうです。確認してないですがcygwin自体(rubyではなく)にも同じ制限があるんじゃないかと思います。
該当のコードを見てないので断定できないんですが、お役に立てば。

_ nabeken (2005-05-18(Wed) 23:19)

そうだったのですか。ありがとうございます。
flock(LOCK_SH)したのをflock(LOCK_UN)するときに落ちています。他のケースもあるかもしれませんが。

_ (う) (2005-05-19(Thu) 09:15)

Win9X + mswin32だとLOCK_SHの場合に問答無用でEINVALですので、そこで例外が発生するのは確実です。発生しなかったらバグ :)
LOCK_UNで落ちるパターンというのは、そのruby-devに出ていた、複数スレッド存在時のLOCK_UNのバグだと思います。これは今はもう直ってるはず...

_ nabeken (2005-05-19(Thu) 23:34)

すみません、LOCK_SHでEINVALでした。既知の制限通りの挙動でした。

[]