[#46329] [ruby-trunk - Feature #7252][Assigned] version number of 2.0 release — "usa (Usaku NAKAMURA)" <usa@...>

26 messages 2012/11/01

[#46350] RubySpecメンテナ — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2012/11/02
[#46352] Re: RubySpecメンテナ — Urabe Shyouhei <shyouhei@...> 2012/11/02

On 11/01/2012 07:43 PM, Yukihiro Matsumoto wrote:

[#46414] [ruby-trunk - Bug #7287][Open] please rename atomic.h which conflicts with /usr/include/atomic.h in Solaris10 — "ngoto (Naohisa Goto)" <ngotogenome@...>

10 messages 2012/11/06

[#46434] トラップハンドラで許されない操作はなにか — KOSAKI Motohiro <kosaki.motohiro@...>

GyRCPi46aiRHJDkbKEIKCltCdWcgIzcxMzRdIBskQiRyRDQkWSRGJCQkRj88SiUkSjtFTU1MZEJq

9 messages 2012/11/06

[#46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている — "hsbt (Hiroshi SHIBATA)" <shibata.hiroshi@...>

12 messages 2012/11/07

[#46477] Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...>

refinement を導入するときの性能に対する excuse が「method cache に殆どあ

20 messages 2012/11/11
[#46480] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/11

前田です。

[#46488] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...> 2012/11/12

 ささだです.

[#46491] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/12

前田です。

[#46493] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...> 2012/11/12

 ささだです.

[#46495] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/12

前田です。

[#46497] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...> 2012/11/12

(2012/11/12 18:20), Shugo Maeda wrote:

[#46501] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/12

前田です。

[#46513] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Nobuyoshi Nakada <nobu@...> 2012/11/14

なかだです。

[#46509] [ruby-trunk - Bug #7344][Open] gem pristine bigdecimal が失敗してしまう — "hsbt (Hiroshi SHIBATA)" <shibata.hiroshi@...>

31 messages 2012/11/13

[#46520] [ruby-trunk - Bug #7356][Open] ruby-2.0.0-preview1 で adlint-2.6.10 が性能劣化 — "yanoh (Yutaka Yanoh)" <yutaka@...>

11 messages 2012/11/15

[#46647] [ruby-trunk - Bug #7452][Assigned] Main thread is stopped after running finalizers if the main thread has a finalizer — "mrkn (Kenta Murata)" <muraken@...>

8 messages 2012/11/28

[ruby-dev:46644] Re: [ruby-changes:25810] kosaki:r37867 (trunk): * thread.c (rb_mutex_trylock, rb_mutex_unlock, mutex_sleep):

From: KOSAKI Motohiro <kosaki.motohiro@...>
Date: 2012-11-28 02:29:52 UTC
List: ruby-dev #46644
> Mutex#lock とかを,trap handler 中で出来ない,ってのは,すみません,どの
> 辺の話でしたっけ.

[ruby-dev:46434] とかで議論したときに、当分
trapからmutexが使えない制限は直さないということだったので、メージ的に例外投げるようにしました


> ruby-spec がこれで落ちているので気がつきました.
> すみません,これってそういうものでしたっけ.
> ちょっと,大きすぎるように思いまして.

関係あるかどうかわかりませんが、ささださんがircでtry_lockで落ちたと発言したログが残っていたので try_lockだけ例外出さないように変えました。
try_lockはdeadlockしないので。


> main thread と trap handler 中で競合が発生する(デッドロックになる)のは
> わかるんですが.
>
> ちょっとした回避策ですが,
>
> (1) main thread がロックを保持している
>     時のみ,Mutex#lock が例外を発生させる
>
> というのはどうでしょうか.これによって,
>
> (a) trap 内で完結する lock はちゃんと動く
>   (trap 内で unlock しない奴は死ねばいい)
>
> (b) sub-thread で lock している奴は,trap 内で待つことができる
>
> と出来ると思います.いかがでしょうか.

2つの理由から好きではありません。1) mutexがlock ownerを保持しているのが議論の前提になっているが、deadlock
detectionがない実装ではないではたぶん保持していないであろう
2)それではダメなプログラムを書いた時に、テストで通って本番で落ちるという最悪の結果になってしまい、deadlockからたいして好転していない

私の考えだと例外はプログラムが間違っていると教えて上げるためにあげているので、テストした時にうっかり通ってしまうような条件はあまり好きではなく、一般的にはレースしてそうなら例外という条件もあまり好きではありません。

どうせ、deadlockする制限がはずれたら例外上がらなくするつもりだったので、この変更全体をrevertするのもありですが、そもそもdeadlockしてうれしい人はいるんですかね


> ちなみに,POSIX thread はどうなってるんでしたっけ.

trylockも含め、すべてsignalハンドラで使うと動作する保証はありません

In This Thread