[#39464] Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

25 messages 2004/04/01
[#39608] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/02

遅い反応&File.fnmatchは使った事ない&ruby-devの方では

[#39609] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/02

File.fnmatch(と Dir.glob)をちょっと使ってみたのですが、

[#39610] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/05/02

山本です。

[#39611] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — matz@... (Yukihiro Matsumoto) 2004/05/02

まつもと ゆきひろです

[#39613] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/02

From: matz@ruby-lang.org (Yukihiro Matsumoto)

[#39616] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — matz@... (Yukihiro Matsumoto) 2004/05/02

まつもと ゆきひろです

[#39620] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/03

From: matz@ruby-lang.org (Yukihiro Matsumoto)

[#39621] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — matz@... (Yukihiro Matsumoto) 2004/05/03

まつもと ゆきひろです

[#39622] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/03

From: matz@ruby-lang.org (Yukihiro Matsumoto)

[ruby-list:39572] Re: RC version of the next Ruby/Tk

From: Hidetoshi NAGAI <nagai@...>
Date: 2004-04-18 13:04:26 UTC
List: ruby-list #39572
永井@知能.九工大です.

From: "Shirai,Kaoru" <shirai@korinkan.co.jp>
Subject: [ruby-list:39571] Re: RC version of the next Ruby/Tk
Date: Sun, 18 Apr 2004 17:58:09 +0900
Message-ID: <20040418.175803.730548847.nobody@localhost>
> 早速試してみました。

ありがとうございます.

> tk/sample/tkhello.rbの require "tk" の後ろに
> 
> exit! if fork
> # exit! if fork
> # STDIN.close
> # STDOUT.close
> # STDERR.close
> 
> を書くと、ウィンドウ(ルートウィジェット)が表示されません。かといって異
> 常終了もしません。これはコメント部分を解除しても同じです。
> ruby 1.8.1 (2003-12-25) [i686-linux] です。

う゛...fork は全く考えていませんでした.(;_;)

問題となっているのは,

「 require 'tk' によって Tk インタープリタの初期化を
   行ったプロセスとは別のプロセスで Tk の操作を続けると
   正常に処理が継続されない 」

という状況ですよね?
親プロセス,子プロセスのどちらのケースでも,require 'tk' をして 
Tk インタープリタの初期化を行ったプロセスで Tk の操作を続ける場合には
正常にウィンドウが表示されるようにも見受けられます.

で,正直なところかなり困っているんですが,

「 require 'tk' を行ったプロセスと別のプロセスで
   Tk の操作を行った場合,実行は保証されない 」

という仕様ではダメですかね?(^_^;

Tcl/Tk に fork コマンドが存在しないことからも,
稼働中の Tk インタープリタが fork された場合に
正常に処理を継続できるかは保証できないと思うのです.
その意味では,以前に動いいていたこと自体が偶然の産物であると
考えるべきかもしれません.

複数のプロセスから一つの GUI を並行して操作するというのは
まともに動作するとは思えませんので,fork するにしても
GUI 操作はいずれか一つのプロセスで行うはずです.
そうしますと,GUI を担当するプロセスを決定した後,
そのプロセスで require 'tk' をするように求めるというのは
それほど無理な要求とも思えません.

以前は動いたものが動かなくなるというのは本当に心苦しいのですが,
そのように考えていただくのはダメでしょうか?
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

In This Thread