[#45906] ' failures. — Tanaka Akira <akr@...>
' の扱いが変化したことで、テストが失敗しているようです。
9 messages
2012/07/04
[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>
24 messages
2012/07/04
[#45928] Re: [ruby-cvs:43524] kosaki:r36348 (trunk): * include/ruby/ruby.h: Removed RUBY_GLOBAL_SETUP complely. It is — SASADA Koichi <ko1@...>
ささだです.
3 messages
2012/07/09
[#45973] [ruby-trunk - Bug #6751][Assigned] remove tempfiles early. — "akr (Akira Tanaka)" <akr@...>
4 messages
2012/07/18
[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
9 messages
2012/07/20
[#45977] [ruby-trunk - Feature #6757][Open] [PATCH] Add Process.getsid — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
6 messages
2012/07/20
[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>
13 messages
2012/07/30
[ruby-dev:45892] Re: Question: Thread#kill doesn't throw Exception
From:
Yusuke Endoh <mame@...>
Date:
2012-07-02 11:01:20 UTC
List:
ruby-dev #45892
遠藤です。
2012/06/26 SASADA Koichi <ko1@atdot.net>:
> (2012/06/26 4:51), KOSAKI Motohiro wrote:
>> 例外だと握りつぶせますけど、そこで kill
>> したつもりのスレッドが生き残ってしまって誰が嬉しいんだっけという話だと思います。個人的には例外にしてしまうとたぶん壊れるコードが出てくるので変えたくないなあ。
>>
> そうですよね.1.8 もそうだし,ここは変えないということで.
その特殊な Object の意図はおそらく「握りつぶされたくない」だと
思うのですが、しかし実際には ensure を使えば握りつぶせます。
th = Thread.new do
begin
begin
sleep 1
ensure
p $!
raise
end
rescue
retry
end
end
sleep 0.5
th.kill
$ ruby t.rb
nil
nil
nil
... (繰り返す、^C で止められない)
かといって、この挙動を変えるべきではないと思います。
ensure が実行されないとリソースのリークやデータの欠損が発生
しかねないと思うので。
--
Yusuke Endoh <mame@tsg.ne.jp>