From: SASADA Koichi Date: 2012-06-26T06:32:02+09:00 Subject: [ruby-dev:45849] Re: [ruby-trunk - Bug #4909] trapハンドラは再入されてはいけないのではないか? (2012/06/26 6:24), KOSAKI Motohiro wrote: >> こういう話もあったんですね. >> > >> > POSIX signal を考えると,同じシグナルは mask しておく(遅延する)という感じでしょうか. >> > あ,POSIX signal の場合は遅延じゃなくて,単に捨てるんだっけ(realtime signal 以外). > C言語は遅延ですね。捨てられるのは2つ以上遅延した場合ですから  なるほど.Ruby では何個もっときますかねえ. >> > それとも,trap 自体を禁止する感じでしょうか.  こちら,どう思います? つまり,来たシグナルの trap だけを禁止,もしく は trap 全部を禁止.  そういえば,unmask をどうするか,だけど Ruby には要らない,でいいかなぁ. >> > この仕組みは "[ruby-dev:45827] Re: 非同期割り込みに対する対処案(日本語版)" と独立に作るべきか,混ぜちゃうべきか.... > これは構文拡張なしで問答無用でマスクしてしまえばすむと思ってます。 > あんまり混ぜるメリットが分かってないんですけど、なにか思い当たるところあります? Pros. - mask/unmask の操作が,同じインターフェースでできる Cons. - なんか混ぜると複雑になってわけわからんくなりそう  分けた方がわかりやすくて良さそう. > この話は実際にスタックオーバーフローしたというバグレポートが来ているのでできれば2.0で直したい  そう思います. -- // SASADA Koichi at atdot dot net