[#46502] Twitterのサンプルでエラーなんですが。 — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじま@勉強中です。
9 messages
2009/11/02
[#46517] Ruby1.8.8devでのsinatra動作について — "前川 映一" <eiichi_maekawa@...>
7 messages
2009/11/05
[#46530] ARGVの引数のデータタイプ — askar <askar75@...>
アスカルです。
9 messages
2009/11/09
[#46532] Re: ARGVの引数のデータタイプ
— Yukihiro Matsumoto <matz@...>
2009/11/09
まつもと ゆきひろです
[#46535] Re: ARGVの引数のデータタイプ
— askar <askar75@...>
2009/11/11
まつもとさん、
[#46546] CSV.openがうまく動きません — ichirojiro <ichirojiro@...>
ichiroと申します。
8 messages
2009/11/14
[#46558] 【追記】 Ruby on Railsセミナーのエントリーについて — 川井健史(CO) <takeshi.kawai@...>
Rubyistの皆様
4 messages
2009/11/15
[#46571] ruby1.9 でpostgresql8.4を利用するときについて。 — Nobuyuki Inaba <nobuyuki.inaba@...>
稲葉と申します。
8 messages
2009/11/27
[#46575] Re: ruby1.9 でpostgresql8.4を利用するときについて。
— keiichi matsunaga <ma2@...>
2009/11/30
On 11/27/2009 7:12 PM, Nobuyuki Inaba wrote:
[#46572] [ANN]12/12 DevLOVE2009Fusion を開催します — <papanda0806@...>
ruby-listのみなさん
1 message
2009/11/27
[ruby-list:46579] Re: IO#flock
From:
Takahiro Kambe <taca@...>
Date:
2009-11-30 14:45:07 UTC
List:
ruby-list #46579
In message <4B13CD86.8050701@moji.gr.jp>
on Mon, 30 Nov 2009 22:49:59 +0900,
"5.5" <5.5@moji.gr.jp> wrote:
> lock1.rb を走らせた直後に lock2.rb を走らせれば,以下のように
> 動作する,と期待して実験しました。
>
> [1] まず lock1.rb が 1 を書こうとする。flush はしてないので,
> バッファーに書かれるのみ。
そもそもバッファリングに動作を依存するのはどうかと思いますが、
> [2] lock1.rb は 5 秒間のスリープに入る。
> [3] lock2.rb が 3 を書こうとするが,ロックされているので,書
> けない。待機する。
RubyのIO#flockは、UNIX系OSのflock(2)へのインターフェイスですが、
flock(2)にはwrite(2)を防ぐといったロックを提供しているわけでは
ありません。互いにflock(2)を使ってロックの有無を確認できるだけ
のロック(advisory lock)です。
後から作られたfcntl(2)ベースのシステムコールでは、write(2)に
影響を与えるmandatory lockを提供している場合もありますが、flock
という名前から一般的に期待できる動作はadvisory lockだけです。
従って、この時点で想定されている動作ではありません。
-- lock2.rb --
open("log.txt", "a+") do |f|
f.flock File::LOCK_EX
f.puts 3
end
------
と、でもすれば期待される動作となるでしょう。
--
神戸 隆博 / Takahiro Kambe