[#24134] File.rename error message — Kazuhiro Yoshida <moriq.kazuhiro@...>

もりきゅうです。

14 messages 2000/08/08
[#24135] Re: File.rename error message — Takahiro Kambe <taca@...> 2000/08/08

In message <200008081252.AA00846@VZF07161.nifty.ne.jp>

[#24158] Hash の初期値に [] を使う — Mitsuhiro Kondo <kondo@...>

rubyを使っていて不思議に思ったことがあります。

16 messages 2000/08/11

[#24176] FreeBSD ports — "Akinori -Aki- MUSHA" <knu@...>

 こんにちは、 knu です。

31 messages 2000/08/11
[#24187] Re: FreeBSD ports — Yasuhiro Fukuma <yasuf@...> 2000/08/12

最近ports関連はすっかりさぼっている福間@福岡 です。

[#24190] Re: FreeBSD ports — "Akinori -Aki- MUSHA" <knu@...> 2000/08/13

 こんにちは。

[#24197] Re: FreeBSD ports — Takahiro Kambe <taca@...> 2000/08/14

In message <86vgx5fv7j.wl@daemon.local.idaemons.org>

[#24199] Re: FreeBSD ports — Yasuhiro Fukuma <yasuf@...> 2000/08/14

福間@福岡 です。

[#24191] drb.rb: 0x40155740 is recycled object (IndexError) — Hideto ISHIBASHI <hideto-i@...4u.or.jp>

おひさしぶりです。石橋秀仁です。

15 messages 2000/08/14
[#24192] Re: drb.rb: 0x40155740 is recycled object (IndexError) — Masatoshi SEKI <m_seki@...> 2000/08/14

[#24221] Re: drb.rb: 0x40155740 is recycled object(IndexError) — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/08/15

石橋秀仁です。咳さん、お返事ありがとうございます。

[#24223] Re: drb.rb: 0x40155740 is recycled object(IndexError) — Masatoshi SEKI <m_seki@...> 2000/08/15

[#24229] Re: drb.rb: 0x40155740 is recycledobject(IndexError) — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/08/16

石橋秀仁です。咳さん、お返事ありがとうございます。

[#24324] ruby の発展の為に — "Mitsuo Igarashi" <mitsu5@...>

Windows に ruby をインストールしようとして、皆様に助けられ

87 messages 2000/08/21
[#24328] Re: ruby の発展の為に — Takahiro Kambe <taca@...> 2000/08/21

思いっ切りUNIXな者からの、おそらく偏ってるであろう意見です。

[#24338] Re: ruby の発展の為に — kiri@... 2000/08/22

桐山です。

[#24342] Re: ruby の発展の為に — gotoken@... (GOTO Kentaro) 2000/08/22

ごとけんです

[#24344] Re: ruby の発展の為に — rubikitch <rubikitch@...> 2000/08/22

From: gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro)

[#24382] Re: ruby の発展の為に — Koji Arai <JCA02266@...> 2000/08/22

新井です。

[#24390] Re: ruby の発展の為に — rubikitch <rubikitch@...> 2000/08/23

From: Koji Arai <JCA02266@nifty.ne.jp>

[#24391] Ruby Documentation Project(仮) — rubikitch <rubikitch@...> 2000/08/23

From: rubikitch <rubikitch@ruby-lang.org>

[#24398] Re: Ruby Documentation Project(仮) — Koji Arai <JCA02266@...> 2000/08/23

新井です。

[#24401] — rubikitch <rubikitch@...> 2000/08/23

From: Koji Arai <JCA02266@nifty.ne.jp>

[#24404] Re: — Koji Arai <JCA02266@...> 2000/08/23

新井です。

[#24405] Re: — rubikitch <rubikitch@...> 2000/08/23

From: Koji Arai <JCA02266@nifty.ne.jp>

[#24406] Re: — Koji Arai <JCA02266@...> 2000/08/23

新井です。

[#24407] Re: Ruby Documentation Project(仮) — rubikitch <rubikitch@...> 2000/08/23

From: Koji Arai <JCA02266@nifty.ne.jp>

[#24413] Re: Ruby Documentation Project(仮) — MOROHOSHI Akihiko <moro@...> 2000/08/23

師星です。

[#24414] Re: Ruby Documentation Project(仮) — rubikitch <rubikitch@...> 2000/08/23

From: MOROHOSHI Akihiko <moro@remus.dti.ne.jp>

[#24419] Re: Ruby Documentation Project(仮) — MOROHOSHI Akihiko <moro@...> 2000/08/23

師星です。

[#24421] Re: Ruby Documentation Project(仮) — rubikitch <rubikitch@...> 2000/08/23

From: MOROHOSHI Akihiko <moro@remus.dti.ne.jp>

[#24433] Re: Ruby DocumentationProject(仮) — Koji Arai <JCA02266@...> 2000/08/23

新井です。

[#24451] Re: Ruby DocumentationProject(仮) — Tadayoshi Funaba <tadf@...> 2000/08/24

ふなばです (RD の話題についていけてない)。

[#24460] Re: RubyDocumentationProject(仮) — Koji Arai <JCA02266@...> 2000/08/24

新井です。

[#24481] Re: RubyDocumentationProject(仮) — Tadayoshi Funaba <tadf@...> 2000/08/25

ふなばです。

[#24518] Re: RubyDocumentationProject(仮) — Koji Arai <JCA02266@...> 2000/08/26

新井です。

[#24341] install guide draft — gotoken@... (GOTO Kentaro)

ごとけんです

106 messages 2000/08/22
[#24420] did commit install guide — gotoken@... (GOTO Kentaro) 2000/08/23

ごとけんです

[#24448] Re: did commit install guide — TAKAHASHI Masayoshi <maki@...> 2000/08/24

高橋征義です。

[#24469] レンタルサーバで eruby — Tokita Kousui <ktokita@...>

前にレンタルサーバでerubyを動かせないと騒いでた時田です(^^;

22 messages 2000/08/24
[#24476] Re: レンタルサーバで eruby — TAKEUCHi Kahori <takeuchi@...> 2000/08/24

たけうちかほりです。

[#24550] Array への nil の代入について — Kenya Ogata <k_ogata@...>

おがたといいます。

30 messages 2000/08/27
[#24558] Re: Array への nil の代入について — Kenya Ogata <k_ogata@...> 2000/08/27

おがたです

[#24564] Ruby の落とし穴 — Kazuhiro NISHIYAMA <zn@...> 2000/08/27

Kenya Ogata <k_ogata@mbd.nifty.com> wrote:

[#24648] RDP のフォーマット案 — Koji Arai <JCA02266@...>

新井です。

15 messages 2000/08/30

[ruby-list:24272] How to read buffered data?

From: Tanaka Akira <akr@...17n.org>
Date: 2000-08-19 08:17:41 UTC
List: ruby-list #24272
IO からバッファリングされた内容を一度に全部(ブロックせずに)取り出した
いのですが、なにかうまい方法はないでしょうか?

# 理由は効率上の問題です。一度に 2bytes 以上読みだすことにすると、dead
# lock する可能性があるアプリケーションなのですが、1bytes 毎だと遅すぎ
# て...

最初に「non-blocking モードにしておけばブロックする時点で getc から
EOF が返ってくるから引数なしの read で全部読めるだろ」という考えのもとに

class IO
  def read_available
    fl = self.fcntl(Fcntl::F_GETFL)
    p "read_available:fl: #{fl}"
    self.fcntl(Fcntl::F_SETFL, File::NONBLOCK)
    data =
      begin
        self.read
      rescue Errno::EWOULDBLOCK
        ""
      end
    self.fcntl(Fcntl::F_SETFL, fl)
    return data
  end
end

というのを使っていたのですが、これは FILE* を clearerr しないので、稀
に変なタイミングで例外が発生します。例えば、(上のコードを使わないで)、
次のようにしてそのような状況を無理矢理発生させることができます。
(ruby-1.4.6 です。)

% (echo -n a; sleep 5)|(sleep 1; ruby -e '
require "fcntl"
STDIN.fcntl(Fcntl::F_SETFL, File::NONBLOCK)
p STDIN.read(2)
STDIN.fcntl(Fcntl::F_SETFL, 0)
p STDIN.getc')
"a"
/tmp/rbc31945:6:in `getc': Resource temporarily unavailable (Errno::EWOULDBLOCK)
        from /tmp/rbc31945:6

この場合は幸いにも errno が保存されていて EWOULDBLOCK が発生しましたが、
これは必ずしも確実ではなく、例外が発生した時点で残っていた errno が使
われるようです。(他の例外の発生により、errno がクリアされていると、
E000 が発生します。)

また、この方法のもうひとつの問題はこれが ruby-1.5 で動かない、というこ
とです。ruby-1.5 は EOF が検出された時にちゃんとエラーを検査するようで、
最初の引数なしの read の時点で EWOULDBLOCK が発生してそれ以前に読んだ
内容が失われてしまいます。

というわけで困っているのですが、non-blocking mode を使う方法でも使わな
い方法でも構わないので、バッファに溜っているデータをうまく取り出す方法
はないものでしょうか?

なお、ある程度大きな塊を(ブロックせずに)取り出せればいいので、pipe の
中のデータまで取り出すことは必須ではありません。FILE* に溜っているもの
だけでも構いませんし、他の単位でも問題ありません。

あと、http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/213
は読んだのですが、これでやると、全部とってこようと思い立った時にスレッ
ドを開始するのはいいとして、いつまで待てばいいのか、というのがよくわか
らないです。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「まぁ、わたしって、福の神だったのね$(C⊇」(ヘッポコあんてぃ〜く, 清水文化)

In This Thread

Prev Next