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