transactionを発生させます。initialize時に第2引数が真であれば、別のスレッドがトランザクションから抜けるまで待つようになりますが、PStoreの用途から考えると、わざわざ引数にそのような指定をしなくても例外を投げずに待ってくれた方が嬉しいと思うのですが、いかがでしょうか。PStore.newの第2引数を削除し、別のスレッドがトランザクションを実行中でもデフォルトで例外を投げずに待つようにしたpstore.rbと、それに合わせて改変したtest_pstore.rbのパッチを添付します。ago=begin互換性の面が懸念されます。ago=beginデフォルトがブロックするかしないかどっち向きに倒れておくべきかには議論のある所だとは思いますが、いきなり第二引数をなくしてしまうというのはやりすぎではないでしょうか。あなたの嬉しさは他者を排斥する理由としては弱いです。wrote:デフォルトがブロックするかしないかどっち向きに倒れておくべきかには議論のある所だとは思いますが、いきなり第二引数をなくしてしまうというのはやりすぎではないでしょうか。あなたの嬉しさは他者を排斥する理由としては弱いです。パッチみてませんけどそれもありましたね。trueにしておいて、今の動作と逆転するような感じだと良いですかね?無視するか動作を逆転させるかどちらかは別として、引数を削るのは賛成しかねます。ago=beginPStoreはRubyのオブジェクトを外部ファイルに格納する為のクラスな訳ですから、あるスレッドがトランザクションを実行中に別のスレッドがトランザクションに入ろうとした場合に、整合性を保つ為に同期する理由はあっても、例外を投げる理由はないのではと考えました。そこで第2引数を削除したパッチを添付したのですが、確かにいきなり第2引数をなくしてしまうというのはやりすぎだったかも知れません。それと、私が嬉しいかどうかをこういう場で引き合いに出したのは正しくなかったと思います。Fukumoriさんの案に賛成します。transaction例外を想定しているコードには影響してしまいますね。transactionはもしダメなら諦める的な感じで捕捉されることを想定しているコードならこの仕様でも良いかもしれません。transactionが起きているかどうかのコードはin_transactionで調べるべきだと思いますしね。周りの反応次第ですが。その辺の問題が解決できたら入れても良いかもしれないです。Feedbackこれ、どうしますか?まだやる気があったら、ハンドルをお願いします。メンテナ不在です)以下は個人的意見です。互換性のため、「いきなり消す」はないと思います。しても消したいなら、警告期間を用意すべきでしょう。する」はありうるかもしれませんが、慎重な調査や検討が必要かもしれません。ago今となっては僕もどういう状況で困っていたのか忘れてしまったので、他に要望がなければクローズしようと思います。LangLoading...。