[#11680] fork_and_kill_other_threads — "NAKAMURA, Hiroshi" <nakahiro@...>

なひです。[ruby-list:26165]からもって来ました。

27 messages 2000/12/02
[#11681] Re: fork_and_kill_other_threads — Masatoshi SEKI <m_seki@...> 2000/12/02

[#11682] Re: fork_and_kill_other_threads — matz@... (Yukihiro Matsumoto) 2000/12/02

まつもと ゆきひろです

[#11685] Re: fork_and_kill_other_threads — nobu.nakada@... 2000/12/03

なかだです。

[#11687] Re: fork_and_kill_other_threads — matz@... (Yukihiro Matsumoto) 2000/12/03

まつもと ゆきひろです

[#11708] Re: fork_and_kill_other_threads — Kazuhiro NISHIYAMA <zn@...> 2000/12/06

On Sun, 3 Dec 2000 23:33:41 +0900

[#11709] Re: fork_and_kill_other_threads — matz@... (Yukihiro Matsumoto) 2000/12/06

まつもと ゆきひろです

[#11710] Re: fork_and_kill_other_threads — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/12/06

なひです。

[#11713] Re: fork_and_kill_other_threads — matz@... (Yukihiro Matsumoto) 2000/12/06

まつもと ゆきひろです

[#11716] Re: fork_and_kill_other_threads — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/12/06

なひです。

[#11718] Re: fork_and_kill_other_threads — matz@... (Yukihiro Matsumoto) 2000/12/06

まつもと ゆきひろです

[#11722] Re: fork_and_kill_other_threads — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/12/07

なひです。

[#11733] Ruby I18N 改め M17N — とみたまさひろ <tommy@...>

とみたです。

17 messages 2000/12/07
[#11735] Re: Ruby I18N 改め M17N — matz@... (Yukihiro Matsumoto) 2000/12/08

まつもと ゆきひろです

[#11751] Re: Ruby I18N 改め M17N — とみたまさひろ <tommy@...> 2000/12/13

とみたです。

[#11752] Re: Ruby I18N 改め M17N — matz@... (Yukihiro Matsumoto) 2000/12/13

まつもと ゆきひろです

[#11789] mswin32 [Q & patch] mkmf.rb — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

14 messages 2000/12/18
[#11790] Re: mswin32 [Q & patch] mkmf.rb — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/12/19

なかだです。

[#11848] Where'd all the Ruby's history gone? — "Akinori MUSHA" <knu@...>

 さっき気付いたんですが、 Ruby のレポジトリから過去分がごっそり

27 messages 2000/12/25
[#11853] Re: Where'd all the Ruby's history gone? — matz@... (Yukihiro Matsumoto) 2000/12/26

まつもと ゆきひろです

[#11861] Re: Where'd all the Ruby's history gone? — Kazuhiro NISHIYAMA <zn@...> 2000/12/26

On Tue, 26 Dec 2000 14:58:07 +0900

[#11862] Re: Where'd all the Ruby's history gone? — matz@... (Yukihiro Matsumoto) 2000/12/26

まつもと ゆきひろです

[#11869] Re: Where'd all the Ruby's history gone? — "Akinori MUSHA" <knu@...> 2000/12/26

At Tue, 26 Dec 2000 17:44:57 +0900,

[#11894] Re: Where'd all the Ruby's history gone? — Kazuhiro NISHIYAMA <zn@...> 2000/12/29

On Tue, 26 Dec 2000 21:24:19 +0900

[#11895] Re: Where'd all the Ruby's history gone? — "Akinori MUSHA" <knu@...> 2000/12/29

At Fri, 29 Dec 2000 18:56:03 +0900,

[#11896] Re: Where'd all the Ruby's history gone? — Kazuhiro NISHIYAMA <zn@...> 2000/12/29

On Fri, 29 Dec 2000 19:07:12 +0900

[#11852] local variable extent problem? — Tanaka Akira <akr@...17n.org>

どうも、Ruby のバグのような気がするものを見つけたのですが、もしかした

21 messages 2000/12/26
[#11855] Re: local variable extent problem? — matz@... (Yukihiro Matsumoto) 2000/12/26

まつもと ゆきひろです

[#11857] Re: local variable extent problem? — Tanaka Akira <akr@...17n.org> 2000/12/26

In article <977817486.100168.31162.nullmailer@ev.netlab.zetabits.com>,

[#11859] Re: local variable extent problem? — matz@... (Yukihiro Matsumoto) 2000/12/26

まつもと ゆきひろです

[#11860] Re: local variable extent problem? — Tanaka Akira <akr@...17n.org> 2000/12/26

In article <977819010.870991.31953.nullmailer@ev.netlab.zetabits.com>,

[#11863] Re: local variable extent problem? — matz@... (Yukihiro Matsumoto) 2000/12/26

まつもと ゆきひろです

[#11865] Re: local variable extent problem? — "Akinori MUSHA" <knu@...> 2000/12/26

At Tue, 26 Dec 2000 17:50:11 +0900,

[#11874] Re: local variable extent problem? — matz@... (Yukihiro Matsumoto) 2000/12/26

まつもと ゆきひろです

[ruby-dev:11724] Re: fork_and_kill_other_threads

From: matz@... (Yukihiro Matsumoto)
Date: 2000-12-07 05:41:08 UTC
List: ruby-dev #11724
まつもと ゆきひろです

In message "[ruby-dev:11722] Re: fork_and_kill_other_threads"
    on 00/12/07, "NAKAMURA, Hiroshi" <nakahiro@sarion.co.jp> writes:

|> ということはアレですかね。たとえば「明示的に宣言したスレッド
|> はforkされても生き残る」とかいう仕様だと問題は回避できたりす
|> るんですかね。
|
|回避できます。が、これを採用するのには抵抗があります。
|何故なら、現時点でその恩恵を受けるのが、なひのデバッガ
|(標準のデバッガは全く問題ありません)しか思いつかないから。

いや、それで良いんですよ。つまり、forkしてトラブったユーザが
いたときにライブラリ開発者が使える道具があればよいわけです。
なひさんのデバッガはその典型的な例だと思ってます。

|アプリケーション(が使っているライブラリ){1,}がこっそりスレッドを
|作っているケースはいくらでも考え付くんですけど、
|「無闇にforkしてそれを壊してハマる」ケースがなかなか思いつかない。
|アプリケーション(が使っているライブラリ){1,}の中身まで完全に把握して
|プログラミングする人はそうそう居ないだろうけど、
|その危険性をわかってる人じゃなきゃforkはしないですよねぇ。

逆じゃないですかね。ライブラリ作成者のところに「あんたのライ
ブラリforkしたらトラブった」って話が来たときに対処できる方法
があった方が良いってことだと思います。ライブラリ利用者がこの
機能を使ってスレッドを死なないようにするってシチュエーション
は存在しないと思います。

|ところでまつもとさん、標準のデバッガで、
|thread stopとthread resumeに期待していた挙動を教えてください。
|現在の挙動は、なひがいろいろいじったせいで、
|
|1. いずれかのthreadがbpなどで停止すると、全threadが止まる。
|2. thread stopすると、全threadを再開、
|  指定されたthreadがactiveになった時点で(つまりすぐに)再び全threadが止まる。
|3. thread resumeは全threadを再開。
|
|ということになってしまっています。
|これだとthread resumeの意味がありません
|(どこかでなひが、そのようにしてしまったんだと思います)。

もう、あんまり覚えてないんですが(おいおい)、たぶんthread
stopはあるスレッド(おそらくはカレントスレッド以外)を停止させ
るのが目的なので、

  カレントスレッドを再開
  指定したスレッドだけを停止
  そのスレッドのコンテキストでプロンプトを出す

という挙動だったと思いました。カレントスレッドを再開ってのは
怪しいですが。止まったままだったかも。

で、thread resumeはなんらかの事情で止まっているスレッドを強
制的に起こすコマンドで、ちょっと意外ですがsuspendと対の動作
はしなかったと思います。

これでちゃんとした説明になってますか?

|1-a. いずれかのthreadがbpなどで停止すると、全threadが止まる。
|1-b. いずれかのthreadがbpなどで停止すると、そのthreadのみが止まる。
|2. thread stopすると、指定されたthreadが止まる。
|3. thread resumeすると、指定されたthreadが再開する。
|
|とかですかね?ちょっと排他制御が難しくなりそう。。。

2,3はその通りです。1は1-bが望ましいと思ってます。

                                まつもと ゆきひろ /:|)

In This Thread