From: mame@... Date: 2018-03-08T08:46:27+00:00 Subject: [ruby-dev:50492] [Ruby trunk Feature#4483][Feedback] PStoreをデフォルトで複数のスレッドから扱えるようにしたい Issue #4483 has been updated by mame (Yusuke Endoh). Status changed from Assigned to Feedback Assignee changed from nahi (Hiroshi Nakamura) to Glass_saga (Masaki Matsushita) これ、どうしますか?まだやる気があったら、ハンドルをお願いします。ないなら、close しましょう。(現在、PStore はメンテナ不在です) 以下は個人的意見です。互換性のため、「いきなり消す」はないと思います。どうしても消したいなら、警告期間を用意すべきでしょう。「デフォルトを thread_safe = true にする」はありうるかもしれませんが、慎重な調査や検討が必要かもしれません。 ---------------------------------------- Feature #4483: PStoreをデフォルトで複数のスレッドから扱えるようにしたい https://bugs.ruby-lang.org/issues/4483#change-70897 * Author: Glass_saga (Masaki Matsushita) * Status: Feedback * Priority: Normal * Assignee: Glass_saga (Masaki Matsushita) * Target version: ---------------------------------------- =begin PStoreは、デフォルトでは他のスレッドがトランザクションを実行中にトランザクションに入ろうとすると例外nested transactionを発生させます。 initialize時に第2引数が真であれば、別のスレッドがトランザクションから抜けるまで待つようになりますが、 PStoreの用途から考えると、わざわざ引数にそのような指定をしなくても例外を投げずに待ってくれた方が嬉しいと思うのですが、いかがでしょうか。 PStore.newの第2引数を削除し、別のスレッドがトランザクションを実行中でもデフォルトで例外を投げずに待つようにしたpstore.rbと、 それに合わせて改変したtest_pstore.rbのパッチを添付します。 =end ---Files-------------------------------- patch.diff (1.61 KB) -- https://bugs.ruby-lang.org/