From: SASADA Koichi Date: 2012-07-02T20:29:39+09:00 Subject: [ruby-dev:45894] Re: 非同期割り込みに対する対処案(日本語版) (2012/07/02 20:14), Yusuke Endoh wrote: > 以下のようにすれば現状の API で問題ないと思うのですが、 > 何か見落としているでしょうか。 > > # (1) と (2) の間の割り込みを防ぐために > Thread.mask_interrupt(Exception, :blocking_interruptible) do # (0) > begin > # begin 〜 ensure 内での割り込みはいつでも許す > Thread.mask_interrupt(Exception, :immediate_interruptible) do > # 何か処理 > end > ensure # (1) > # (0) のおかげでこの間に割り込まれることはない > Thread.mask_interrupt(Exception, :uninterruptible) do (2) > # 一度全部割り込み禁止にして > Thread.mask_interrupt(SignalException, :blocking_interruptible) do > # シグナルだけ割り込みを許して > # リソース解放処理 > end > end > end > end >  (0) 書きたくねーよ! てな話なのかなぁ,とも思ったのですが,どうでしょ う.個人的には,これで良ければこれで行きたい気がします. -- // SASADA Koichi at atdot dot net