[#11680] fork_and_kill_other_threads — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。[ruby-list:26165]からもって来ました。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
On Sun, 3 Dec 2000 23:33:41 +0900
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
[#11688] [bug?] cgi.rb / rb_exec_end_proc — Takaaki Tateishi <ttate@...>
立石です.
[#11697] ruby_run() — "K.Kosako" <kosako@...>
細かい話で恐縮ですが、プログラムを読んでいて
[#11733] Ruby I18N 改め M17N — とみたまさひろ <tommy@...>
とみたです。
まつもと ゆきひろです
とみたです。
まつもと ゆきひろです
> |もし MBString を Ruby の基本クラスとして実装するんでしたら、
まつもと ゆきひろです
> |struct RString(とstruct RMBString)からorigメンバを削っても、
[#11758] [PATCH & Q] literal in condition — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
[#11777] Maybe IRB bug!! — Kazuhiro NISHIYAMA <zn@...>
irbで$SAFE=4にしたらSecurityErrorで終了してしまいました。
けいじゅ@日本ラショナルソフトウェアです.
[#11789] mswin32 [Q & patch] mkmf.rb — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
なかだです。
まつもと ゆきひろです
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#11818] Hash#inspect with symbol key — Hiroshi IGARASHI <igarashi@...>
いがらしです。ご無沙汰してます。
[#11820] pack/unpack の '_' — Koji Arai <JCA02266@...>
新井です。
[#11835] fork exception — nobu.nakada@...
なかだです。
[#11848] Where'd all the Ruby's history gone? — "Akinori MUSHA" <knu@...>
さっき気付いたんですが、 Ruby のレポジトリから過去分がごっそり
まつもと ゆきひろです
On Tue, 26 Dec 2000 14:58:07 +0900
まつもと ゆきひろです
At Tue, 26 Dec 2000 17:44:57 +0900,
On Tue, 26 Dec 2000 21:24:19 +0900
At Fri, 29 Dec 2000 18:56:03 +0900,
On Fri, 29 Dec 2000 19:07:12 +0900
At Fri, 29 Dec 2000 19:35:56 +0900,
On Fri, 29 Dec 2000 19:55:59 +0900
At Sat, 6 Jan 2001 20:33:58 +0900,
えぐち@エスアンドイー です。
[#11849] rb_io_flush — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#11852] local variable extent problem? — Tanaka Akira <akr@...17n.org>
どうも、Ruby のバグのような気がするものを見つけたのですが、もしかした
まつもと ゆきひろです
In article <977817486.100168.31162.nullmailer@ev.netlab.zetabits.com>,
まつもと ゆきひろです
In article <977819010.870991.31953.nullmailer@ev.netlab.zetabits.com>,
まつもと ゆきひろです
At Tue, 26 Dec 2000 17:50:11 +0900,
まつもと ゆきひろです
こんばんは。もうこんな時間だ。。
まつもと ゆきひろです
[#11885] New CVSweb — "Akinori MUSHA" <knu@...>
以下の URL に新しい CVSweb を置きました。新しいレポジトリを
[#11898] `www' module is available again — "Akinori MUSHA" <knu@...>
www レポジトリをマージしました。今のところ、 ruby と www の
[ruby-dev:11724] Re: fork_and_kill_other_threads
まつもと ゆきひろです
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が望ましいと思ってます。
まつもと ゆきひろ /:|)