[#24112] ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。原因を追求してたのですが、力尽きました。

19 messages 2004/08/18
[#24127] Re: ruby/tk crashes on bcc32 — Hidetoshi NAGAI <nagai@...> 2004/08/19

永井@知能.九工大です.

[#24131] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。

[#24135] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。試行錯誤の結果、これで落ちなくなりました。

[ruby-dev:24102] Re: duplex I/O for tty

From: Tanaka Akira <akr@...17n.org>
Date: 2004-08-17 09:54:19 UTC
List: ruby-dev #24102
In article <1092734563.448798.5199.nullmailer@picachu.netlab.jp>,
  matz@ruby-lang.org (Yukihiro Matsumoto) writes:

> Socketは内部的に2本のFILE*を持っているからのようです。だから、
> バッファもふたつ持っていて片っぽで消されることがないんですね。

えぇ、tty は 2本使うべきなのに、1本しか使わないのが問題なわけです。

> これをSocket以外のIOでどう解決すべきかというと...よく分かり
> ません。こんなもんだと思うしかないのでしょうか。

ここで問題になるのが、ソケットのように 2本使うべきなのか、普通のファイ
ルのように 1本で済ますべきか、という判定基準です。

あからさまに非普遍的な解は、socket と tty (と pipe) は 2本使うというも
のです。socket と pipe は fstat で判定できますし、tty も isatty で判定
できます。

しかし、すべての device についてそれぞれどちらかを指定していくのは無理
なので、なんとか普遍的な判定基準が欲しいわけです。

個人的には、seek 可能かどうかで判定できるかも知れないと考えています。
ただ、stdio 経由だと少し無理がある気もしていますが。stdio を使わなけれ
ば、読み込みバッファをなかったことにする時の seek で自然に判定できるの
ですが。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next