[#23168] File.fnmatch のリファクタリング — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

13 messages 2004/03/08

[#23192] File.fnmatch と Dir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

19 messages 2004/03/13
[#23194] Re: File.fnmatch と Dir.glob の非互換部分 — matz@... (Yukihiro Matsumoto) 2004/03/13

まつもと ゆきひろです

[#23195] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/14

山本です。

[#23196] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/14

山本です。

[#23260] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/30

山本です。

[#23261] Re: File.fnmatch とDir.glob の非互換部分 — matz@... (Yukihiro Matsumoto) 2004/03/30

まつもと ゆきひろです

[#23265] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/30

山本です。

[#23238] Re: [ruby-cvs] ruby, ruby/lib, ruby/lib/rss, ruby/sample/openssl: * lib/logger.rb: trim tail space of each line. no user visible change. — Kouhei Sutou <kou@...>

須藤です.

10 messages 2004/03/27

[ruby-dev:23251] Re: IO#readpartial

From: Tanaka Akira <akr@...17n.org>
Date: 2004-03-28 09:29:01 UTC
List: ruby-dev #23251
In article <200403280656.i2S6u97e005261@sharui.nakada.niregi.kanuma.tochigi.jp>,
  nobu.nakada@nifty.ne.jp writes:

> 対応してみました。しかし、READ_DATA_PENDING()の場合はバッファに
> あるデータだけを読むというのはなんででしょうか。そのままread(2)
> にいってしまうのはまずい?

そのまま読むと、データが到着していない場合にそこでブロックするのでダメ
です。ブロックするのは stdio のバッファも含めて一切のデータが到着して
いない時だけです。

timeout が 0 な select で読めるデータがあることを確認してからというの
であればあり得ます。ただ、確認してから読むまでに他のプロセスが読んでし
まってブロックするかもしれないという race condition が生まれます。

というわけで、今回は安全側に振ってみました。まぁ、実装が面倒臭かったと
いうのがないとはいいませんが。

あと、この race condition を許容するのであれば、第一引数の integer を
省略できるようにするという可能性もあります。その場合、省略すると到着し
ているデータをすべて読み込むという仕様になるでしょう。

仕様といえば、あと EOF に出会った時に nil と EOFError のどちらにするか
という選択肢もありますね。現在のは nil にしてありますが、read* という
名前から考えると EOFError という気もします。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread