Rubyのnative_cond_wait()の実装は壊れている? Win32でcond_waitはどう実装すべきか

5
前へ 1 ・・ 5 6
野良猫@がんばらない @mskwt

. @nalsh @kosaki55tea QT @kumagi: @mskwt 資料を求められてる気がしたのでこんな感じで https://t.co/jshY9uKo 複数スレッドが突入したら不味そうな気がします。

2012-02-26 13:32:29
野良猫@がんばらない @mskwt

Threading用のテンプレート Slide 作っておくか…

2012-02-26 13:34:36
野良猫@がんばらない @mskwt

. @nalsh @kosaki55tea あとは、同一 cond に対して再入していることを証明すれば壊れるシナリオは証明できるかな、と

2012-02-26 13:41:29
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@mskwt @nalsh @kumagi この図はmutexとらずにリスト操作する人がいることが前提な気がするのですが。それはどこでしょう

2012-02-26 18:26:01
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@mskwt @nalsh @kumagi あと今のコードだと lastというメンバは無いので見ているコードが古い気がします

2012-02-26 18:30:09
野良猫@がんばらない @mskwt

複数の Thread が同一 Mutex に native_cond_wait() 入って native_cond_signal() が最後に _wait() した cond を解除しなかった場合に cond が壊れる repro には成功したけれども r31459 で直ってる。

2012-02-27 15:29:11
野良猫@がんばらない @mskwt

Windows では 1.9.3以降を使いましょうって話が一番手っ取り早いのね。。Condition Variable は pthread みたく書けるはずなので、そこは何か提案してみよう。

2012-02-27 15:30:28
野良猫@がんばらない @mskwt

1.9.2 だと mutex 壊れる例作れちゃったので、この図は起こりうる。 QT @kosaki55tea: @mskwt @nalsh @kumagi この図はmutexとらずにリスト操作する人がいることが前提な気がするのですが。それはどこでしょう

2012-02-28 02:31:09
野良猫@がんばらない @mskwt

cond だ QT 1.9.2 だと mutex 壊れる例作れちゃったので、この図は起こりうる。 QT @kosaki55tea: @mskwt @nalsh @kumagi この図はmutexとらずにリスト操作する人がいることが前提な気がするのですが。それはどこでしょう

2012-02-28 02:36:05
野良猫@がんばらない @mskwt

. @kosaki55tea @_ko1 @nalsh 散々騒がせておいて申し訳ないのですが、~1.9.2 / Win32 は http://t.co/rqyMVcls 問題で使い物にならない、1.9.3 は動くので結論は http://t.co/wsVHZlN4

2012-02-28 02:42:48
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@mskwt @_ko1 @nalsh つまり最初にささださんが指摘したみているバージョンが違う仮説が正しかったということですね。だいたい予想通りで安心しました

2012-02-28 05:18:39
前へ 1 ・・ 5 6