ささだです.

(2011/05/11 22:52), KOSAKI Motohiro wrote:
> しばらく考えたところ、書き込み側で atomic ops 使えば十分という気がしてきました。
> それなら、readerは速度低下0なのでパフォーマンス問題がおこりようがないし。
> Linuxでしかテストしてませんが、こんなもんでどうでしょうか?

 atomic operation が十分に仮定できるのなら,これでもいいような気がします.

 ちなみに,rb_atomic_t は int でいいのかしら,とちょっと思った(いや,
この辺の常識を知らないもので.rb_atomic_int_t じゃないんだな,って).


 自分が持っている対案は,interrupt_flag はあくまでヒントとして扱い,何
か不都合があっても後でリカバーできる情報にしておく.消しちゃ行けない情報
(シグナルの到達判定とか)は,別に用意して,それを参照しなくてはいけない
シチュエーション(GVL の外でシグナル監視とか)は,そっちも参照する,とい
うのがいいんでないかと思っていましたが,複雑です.小崎さんの提案は,その
点で interrupt_flag をキッチリかっちり管理する,という意味でわかりやすい
と思います

-- 
// SASADA Koichi at atdot dot net