[#46329] [ruby-trunk - Feature #7252][Assigned] version number of 2.0 release — "usa (Usaku NAKAMURA)" <usa@...>
>> 旧来の開発版/開発版とかもういらないんじゃないですかね。
前田です。
[#46344] Subversion repository breakage and rollback — "NARUSE, Yui" <naruse@...>
Sorry for this trouble,
[#46346] [ruby-trunk - Bug #7262][Open] module extension (#include/#prepend) in refinements — "matz (Yukihiro Matsumoto)" <matz@...>
[#46350] RubySpecメンテナ — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
On 11/01/2012 07:43 PM, Yukihiro Matsumoto wrote:
2012年11月2日 12:44 Urabe Shyouhei <shyouhei@ruby-lang.org>:
まつもと ゆきひろです
遠藤です。
まつもと ゆきひろです
On 11/02/2012 03:47 AM, 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@...>
きしもとです
[#46434] トラップハンドラで許されない操作はなにか — KOSAKI Motohiro <kosaki.motohiro@...>
GyRCPi46aiRHJDkbKEIKCltCdWcgIzcxMzRdIBskQiRyRDQkWSRGJCQkRj88SiUkSjtFTU1MZEJq
近永と申します。
2012/11/9 Tomoyuki Chikanaga <nagachika00@gmail.com>:
[#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 に殆どあ
前田です。
ささだです.
前田です。
ささだです.
前田です。
(2012/11/12 18:20), Shugo Maeda wrote:
前田です。
なかだです。
前田です。
なかだです。
前田です。
(2012/11/16 17:22), Shugo Maeda wrote:
前田です。
[#46494] Refinement仕様 — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#46509] [ruby-trunk - Bug #7344][Open] gem pristine bigdecimal が失敗してしまう — "hsbt (Hiroshi SHIBATA)" <shibata.hiroshi@...>
[#46540] Re: [ruby-cvs:44900] kosaki:r37730 (trunk): * thread.c, vm_core.h: big rename th to cur_th when works only — SASADA Koichi <ko1@...>
こういう変更を,理由の説明や事前の連絡無く行われると混乱します.
2012/11/19 SASADA Koichi <ko1@atdot.net>:
(2012/11/19 21:57), KOSAKI Motohiro wrote:
[#46547] ベンチマークが終わらない — SASADA Koichi <ko1@...>
shugo さんの refinement の修正についてベンチマークを取ろうと,昨日からす
定点観測でもベンチマークがおわってないみたいですね…(タイムアウト処理入れているので気が付きませんでした)
(2012/11/20 8:04), Narihiro Nakamura wrote:
2012年11月20日 8:11 SASADA Koichi <ko1@atdot.net>:
(2012/11/21 16:05), NARUSE, Yui wrote:
[#46574] Re: [ruby-cvs:44880] tadf:r37710 (trunk): * bignum.c (rb_cstr_to_inum): should accept underscores of — "NARUSE, Yui" <naruse@...>
2012/11/18 <tadf@ruby-lang.org>:
[#46641] Fwd: [ruby-changes:25810] kosaki:r37867 (trunk): * thread.c (rb_mutex_trylock, rb_mutex_unlock, mutex_sleep): — SASADA Koichi <ko1@...>
Mutex#lock とかを,trap handler 中で出来ない,ってのは,すみません,どの
> Mutex#lock とかを,trap handler 中で出来ない,ってのは,すみません,どの
[#46647] [ruby-trunk - Bug #7452][Assigned] Main thread is stopped after running finalizers if the main thread has a finalizer — "mrkn (Kenta Murata)" <muraken@...>
[ruby-dev:46645] Re: [ruby-changes:25810] kosaki:r37867 (trunk): * thread.c (rb_mutex_trylock, rb_mutex_unlock, mutex_sleep):
どもども. (2012/11/28 11:29), KOSAKI Motohiro wrote: >> Mutex#lock とかを,trap handler 中で出来ない,ってのは,すみません,どの >> 辺の話でしたっけ. > > [ruby-dev:46434] とかで議論したときに、当分 > trapからmutexが使えない制限は直さないということだったので、メージ的に例外投げるようにしました 「2.0 では trap で main がロックしているときにもう一度 lock を取ろうと するとデッドロックするのは直さない」ですよね. なので,今回の提案は「main がロックしているとき」という条件を付けよう という話となっています. >> 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がない実装ではないではたぶん保持していないであろう 他の実装は,例えば trap 中で main と競合しない可能性があるので,考えな くても良いと思います.CRuby 2.0.0 の制限という位置づけですから. > 2)それではダメなプログラムを書いた時に、テストで通って本番で落ちるという最悪の結果になってしまい、deadlockからたいして好転していない > > 私の考えだと例外はプログラムが間違っていると教えて上げるためにあげているので、テストした時にうっかり通ってしまうような条件はあまり好きではなく、一般的にはレースしてそうなら例外という条件もあまり好きではありません。 まずい使い方をすると時々通り,時々困るので全部失敗とさせてしまおう,と いう考え方は理解出来ます. 「Mutex だとタイミングの問題でたまたま main と trap でテストの段階で競合 が発生しないことがあるので,この変更で全部禁止にしてしまおう」ということ で,テスト時には再現しないが,出荷後に見つかるバグが埋め込まれる可能性が ある,ということですね.これを排除する方向は良いと思います. ただ,main と trap が競合しない,ということを利用者が注意している状況 でも,一切利用できない,という変更なので,躊躇しています.多分,既存のス クリプトに結構ありそうじゃないかと. 警告を出す,とすると中途半端で誰も救えないかなぁ.うーん.大きな変更な ので,まずは警告を出すようにする,という方針は,それはそれでありな気もし ますが. ちょっとまとまりませんが,とりあえず送っておきます. >> ちなみに,POSIX thread はどうなってるんでしたっけ. > > trylockも含め、すべてsignalハンドラで使うと動作する保証はありません なるほど,そうでした. -- // SASADA Koichi at atdot dot net