[#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:24042] Re: Process.daemon

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

> |違いません。fork/setsid による実装も含めることを想定しています。
>
> そうすると今度は/dev/nullのポータビリティが。

ここでいうポータビリティというのは、どんな懸念なんでしょう?

もし、/dev/null が存在しなかったり null device でなかったりするかもし
れないという懸念だとすれば、これは完全に満足できる解はないんじゃないか
と思っています。

また、4.4BSD や glibc の daemon() も /dev/null を使うわけで、このこと
に関しては、daemon() も状況は同じです。
(glibc の daemon() は major/minor で null device であることを確認する
仕掛けがついているようですが)

でも、/dev/null が存在しない状況で私が想像できるものは、chroot 環境を
設計している時くらいしかなく、かなりレアなケースだと思います。そのため、
/dev/null が存在している時に Process.daemon を使える利点に対し、
/dev/null が存在していない時に Process.daemon が使えない問題はずっと小
さいものだと思います。

まぁ、どうしてもどうしても、というならデータを読む端から捨てていくプロ
セスを作って、そのプロセスに繋げたパイプや socketpair を使うというのが
考えられますが。

> # setsid,fork,/dev/nullを使った実装は手元にはあります。

だとすると、それを組み合わせればいいですかね。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread